JavaScript エンジン
0.8.6 バージョン以降、複数の JavaScript エンジンがサポートされています。特定のエンジンを指定するには、http と stream の両方で使用できる js_engine ディレクティブを使用します。デフォルトでは、njs エンジンが使用されます。
njs エンジン
njs は njs モジュールの 1 部として開発された、埋め込み可能な JavaScript エンジンです。詳細については 互換性 セクションを参照してください。
QuickJS エンジン
QuickJS は、モジュール、非同期ジェネレーター、proxy、BigInt などの機能を含む ES2023 仕様をサポートする軽量な埋め込み可能 JavaScript エンジンです。
0.8.6 バージョン以降、njs エンジンとの互換性を確保するために njs/nginx オブジェクト のドロップイン置換が導入されています。ただし、次の例外があります。
- nginx モジュール API:
ngx.fetch()、ngx.shared.dict。 - 組み込みモジュール:
fs、crypto、WebCrypto、xml。 - njs 固有の API:
njs.dump()、njs.on、console.dump()。 -
の http と stream 用の
js_preload_objectディレクティブ。