TypeScript 定義ファイルを使用した njs コードの記述
TypeScript 定義ファイルのコンパイル API のチェックとオートコンプリート タイプのセーフな njs コードの記述 |
TypeScript は JavaScript の型付けされた上位互換で、通常の JavaScript にコンパイルされます。
TypeScript は、既存の JavaScript ライブラリの型の情報を格納する定義ファイルをサポートしています。これにより、他のプログラムは、ファイルで定義された値を、静的に型付けられた TypeScript エンティティであるかのように使用できます。
njs は API に対して TypeScript 定義ファイルを用意しています。これを使用すると、次のことが可能になります。
- エディタでオートコンプリートと API チェックを取得する
- タイプのセーフな njs コードを書く
TypeScript 定義ファイルのコンパイル
$ git clone https://github.com/nginx/njs $ cd njs && ./configure && make ts $ ls build/ts/ njs_core.d.ts njs_shell.d.ts ngx_http_js_module.d.ts ngx_stream_js_module.d.ts
API のチェックとオートコンプリート
*.d.ts
ファイルをエディターで見つけられる場所に置きます。
test.js
:
/// <reference path="ngx_http_js_module.d.ts" /> /** * @param {NginxHTTPRequest} r * */ function content_handler(r) { r.headersOut['content-type'] = 'text/plain'; r.return(200, "Hello"); }
タイプのセーフな njs コードの記述
test.ts
:
/// <reference path="ngx_http_js_module.d.ts" /> function content_handler(r: NginxHTTPRequest) { r.headersOut['content-type'] = 'text/plain'; r.return(200, "Hello from TypeScript"); }
TypeScript のインストール
# npm install -g typescript
TypeScript のコンパイル
$ tsc test.ts $ cat test.js
生成された test.js
ファイルは、njs で直接使用できます。