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 で直接使用できます。