njs 0.3.4 与 0.3.5 发布了。njs 以 Nginx 插件的方式存在,它是 JavaScript/ECMAscript 的子集,实现了大部分的 JavaScript 语言功能,没有完全遵从 ECMAScript 标准,同时抛弃了 JavaScript 比较难懂的部分。njs 不通过 V8 引擎实现,而是通过一个更小、能耗更低、更符合 Nginx 应用场景的小虚拟机实现的,可以理解为 Nginx 为其实现了一套自己的词法解析。
0.3.5 版本修复了 Core 中的两个 bug:
-
修复使用 require() 导入模块的 bug。
-
修复 [[SetPrototypeOf]]。
0.3.4 版本中特性更新与功能改进如下:
-
Feature:添加了 Object 简写方法和计算属性名称。
-
Feature:添加了 getter/setter 文本支持。
-
Feature:新增 fs.renameSync()。
-
Feature:新增 String.prototype.trimEnd() 与 String.prototype.trimStart()。
-
Improvement:新增内存清理器支持。
-
Improvement:Unicode case 表已更新至 12.1 版。
-
Improvement:为字符串文字添加了 UTF-8 验证。
此外还有一些 bugfix,详情查看更新日志:
http://nginx.org/en/docs/njs/changes.html#njs0.3.5
作为 Nginx 的插件,njs 的安装方式是重新编译 Nginx。