njs 0.7.6 已发布,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: 优化
r.args{}
对象。添加对具有相同 key 的多参数支持,并为 key 添加了区分大小写的功能,key 和值现在是百分比解码 (percent-decoded) - Bugfix: 修复
r.headersOut{}
setter 针对特殊 header 的处理
Core:
- Feature: 添加
Symbol.for()
和Symbol.keyfor()
- Feature: 添加来自 WHATWG 规范的
atob()
和btoa()
- Bugfix: 修复大型的非十进制字面量 (non-decimal literals)
- Bugfix: 修复
parseInt()
中的 Unicode 参数修剪问题 - Bugfix: 修复
try-catch
块中的break
指令 - Bugfix: 修复 CLI 中的
async
函数声明
Changelog