njs 0.4.0 发布,nginx 的 JavaScript 脚本语言

njs 0.4.0 已发布,新增了 js_import 指令,以及在 r.headersOut 中支持多值标头(multi-valued headers)。

njs 以 nginx 插件的方式存在,它是 JavaScript/ECMAscript 的子集,实现了大部分的 JavaScript 语言功能,没有完全遵从 ECMAScript 标准,同时抛弃了 JavaScript 比较难懂的部分。njs 不通过 V8 引擎实现,而是通过一个更小、能耗更低、更符合 nginx 应用场景的小虚拟机实现的,可以理解为 nginx 为其实现了一套自己的词法解析。

作为 nginx 的插件,njs 的安装方式是重新编译 nginx。

新版本下载 http://nginx.org/en/docs/njs/install.html

njs 0.4.0 主要变更

nginx modules:

  • Feature: 在r.headersOut{}中添加对多值标头(multi-valued headers)的支持
  • Feature: 为 http 和 stream 添加js_import指令
  • Improvement: 改进r.headersOut{}中特殊标头的迭代
  • Improvement: 改进r.headersOut{}中复制的迭代
  • Change: r.responseBody属性处理程序现在返回undefined,而不是在响应体不可用时抛出异常

Core:

  • Feature: 在 CLI 中添加对脚本参数的支持
  • Feature: 将外部值转换为原生 js 对象
  • Bugfix: 修复__proto__属性处理程序中的空指针间接引用
  • Bugfix: 修复"no-newline at the end of the script"的处理问题
  • Bugfix: 修复RegExp()构造函数中的空模式和非空标志
  • Bugfix: 修复String.prototype.replace()函数返回 non-string 的问题
  • Bugfix: 修复在fs中读取伪文件(pseudofiles)的问题

详情查看 http://nginx.org/en/docs/njs/changes.html#njs0.4.0

猜你喜欢

转载自www.oschina.net/news/115227/njs-0-4-0-released