Движок JavaScript
Начиная с версии 0.8.6, поддерживается несколько движков JavaScript. Чтобы указать определённый движок, используйте директиву js_engine, доступную как в http, так и в stream. По умолчанию используется движок njs.
Движок njs
Движок njs объявлен устаревшим начиная с версии 1.0.0; в новом коде следует использовать движок QuickJS.
njs — встраиваемый движок JavaScript, разработанный в рамках модуля njs. Подробности см. в разделе Совместимость.
Движок QuickJS
QuickJS — это лёгкий встраиваемый движок JavaScript, поддерживающий спецификацию ES2023, включая такие возможности, как модули, асинхронные генераторы, прокси и BigInt.
Начиная с версии 0.8.6, для обеспечения совместимости с движком njs добавлена полная замена объектов njs/nginx, за следующими исключениями:
- API, специфичный для njs:
njs.dump(),console.dump(). - устаревший API:
require(); вместо него используйте инструкциюimport. - директива
js_preload_objectдля http и stream.
Статус встроенных модулей njs:
-
buffer: начиная с версии 0.8.6. -
crypto: начиная с версии 0.8.10. -
fs: начиная с версии 0.8.9. -
querystring: начиная с версии 0.8.10. -
WebCrypto: начиная с версии 0.8.10. -
xml: начиная с версии 0.8.10. -
zlib: начиная с версии 0.8.5.
Статус встроенных объектов njs:
-
process: начиная с версии 0.8.8. -
TextDecoder: начиная с версии 0.8.10. -
TextEncoder: начиная с версии 0.8.10.
Статус встроенных объектов nginx:
-
ngx.fetch: начиная с версии 0.9.1. -
shared dictionary: начиная с версии 0.8.8.
© 2002-2021 Igor Sysoev
© 2011-2026 Nginx, Inc.
Licensed under the BSD License.
https://nginx.org/en/docs/njs/engine.html