njs 0.7.11 已发布。njs 以 nginx 插件的方式存在,它是 JavaScript/ECMAscript 的子集,实现了大部分的 JavaScript 语言功能,没有完全遵从 ECMAScript 标准,同时抛弃了 JavaScript 比较难懂的部分。njs 不通过 V8 引擎实现,而是通过一个更小、能耗更低、更符合 nginx 应用场景的小虚拟机实现,可以理解成 nginx 为其实现了一套自己的词法解析。
作为 nginx 的插件,njs 的安装方式是重新编译 nginx。
新版本下载地址:http://nginx.org/en/docs/njs/install.html
主要变化
nginx modules:
- Feature: 在 Fetch API 中添加
Request
,Response
和Headers
ctors - Bugfix: 修复主进程中调用的 nginx 记录器回调
Core:
- Feature: 为 CLI 添加对 signal 的支持
- Feature: 添加用于处理 XML 文档的
xml
模块 - Feature: 扩展了对 WebCrypto API 中对称和非对称密钥的支持。最值得注意的是为
importKey()
添加了JWK
格式,并且实现了generateKey()
和exportKey()
方法 - Feature: 添加
String.prototype.replaceAll()
- Bugfix: 修复
for(expr1;
条件语法错误处理 - Bugfix: 使用外部对象的
Object.values()
和Object.entries()
- Bugfix: 修复
RegExp.prototype[@@replace]()
.
详情查看 Changelog。