JavaScript 引擎
从 0.8.6 版本开始,
支持多个 JavaScript 引擎。
要指定特定引擎,请使用js_engine命令
可用于 HTTP 和 Stream。
默认情况下,使用 njs 引擎。
NJS 引擎
njs 是一个可嵌入的 JavaScript 引擎 作为 NJS 模块的一部分开发。 有关详细信息,请参阅 Сompatibility 部分。
QuickJS 引擎
QuickJS 是一个轻量级的、 支持 ES2023 规范, 包括模块、异步生成器、代理和 BigInt 等功能。
从 0.8.6 版本开始, 引入了 njs/nginx 对象的直接替代品 为确保与 NJS 引擎兼容,但以下情况除外:
- 特定于 njs 的 API:
njs.dump(),njs.on(),console.dump(). - 已弃用的 API:
require(), 使用import声明。 -
js_preload_objectHTTP 和 Stream 的指令。
NJS 内置模块状态:
-
buffer: 从 0.8.6 开始。 -
crypto: 待定。 -
fs: 从 0.8.9 开始。 -
querystring: 待定。 -
WebCrypto: 待定。 -
xml: 待定。 -
zlib: 从 0.8.5 开始。
njs 内置对象状态:
-
process: 从 0.8.8 开始。 -
TextDecoder: 待定。 -
TextEncoder: 待定。
nginx 内置对象状态:
-
ngx.fetch: 待定。 -
shared dictionary: 从 0.8.8 开始。