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


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

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

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

主要变化

nginx modules

  • 新增 js_preload_object 指令
  • 添加ngx.conf_prefix 属性
  • s.sendUpstream() 和s.sendDownstream()添加到 stream 模块中
  • 支持 Fetch API 中的HEAD方法
  • 优化 stream 模块中s.send()方法的async回调支持

Core:

  • 为函数对象添加name实例属性
  • 新增njs.memoryStats对象
  • 修复String.prototype.trimEnd()中的 unicode 字符串问题
  • 修复Object.freeze()中的快速数组问题
  • 修复Object.defineProperty()中的快速数组问题
  • 修复async token 被用作对象属性名称的问题
  • 修复复杂的分配问题
  • 修复当存在重复的环境变量时的 process.env
  • 修复模块中的双重声明检测
  • 修复根据规范绑定函数调用的问题
  • 修复if语句的 break 标签问题

详情查看 Changelog。


相關推薦

2023-04-11

njs 0.7.12 已发布。njs 以 nginx 插件的方式存在,它是 JavaScript/ECMAscript 的子集,实现了大部分的 JavaScript 语言功能,没有完全遵从 ECMAScript 标准,同时抛弃了 JavaScript 比较难懂的部分。njs 不通过 V8 引擎实现,而是通过一个更小、

2023-09-15

典引入items()方法。 njs 以 nginx 插件的方式存在,它是 JavaScript/ECMAscript 的子集,实现了大部分的 JavaScript 语言功能,没有完全遵从 ECMAScript 标准,同时抛弃了 JavaScript 比较难懂的部分。njs 不通过 V8 引擎实现,而是通过一个更

2022-04-15

njs 0.7.3 已发布,njs 以 nginx 插件的方式存在,它是 JavaScript/ECMAscript 的子集,实现了大部分的 JavaScript 语言功能,没有完全遵从 ECMAScript 标准,同时抛弃了 JavaScript 比较难懂的部分。njs 不通过 V8 引擎实现,而是通过一个更小、

2022-07-21

njs 0.7.6 已发布,njs 以 nginx 插件的方式存在,它是 JavaScript/ECMAscript 的子集,实现了大部分的 JavaScript 语言功能,没有完全遵从 ECMAScript 标准,同时抛弃了 JavaScript 比较难懂的部分。njs 不通过 V8 引擎实现,而是通过一个更小、

2022-06-23

njs 0.7.5 已发布,njs 以 nginx 插件的方式存在,它是 JavaScript/ECMAscript 的子集,实现了大部分的 JavaScript 语言功能,没有完全遵从 ECMAScript 标准,同时抛弃了 JavaScript 比较难懂的部分。njs 不通过 V8 引擎实现,而是通过一个更小、

2023-02-09

njs 0.7.10 已发布。njs 以 nginx 插件的方式存在,它是 JavaScript/ECMAscript 的子集,实现了大部分的 JavaScript 语言功能,没有完全遵从 ECMAScript 标准,同时抛弃了 JavaScript 比较难懂的部分。njs 不通过 V8 引擎实现,而是通过一个更小、

2023-07-08

以及全局 ngx 属性。 njs 以 nginx 插件的方式存在,它是 JavaScript/ECMAscript 的子集,实现了大部分的 JavaScript 语言功能,没有完全遵从 ECMAScript 标准,同时抛弃了 JavaScript 比较难懂的部分。njs 不通过 V8 引擎实现,而是通过一个更

2023-03-12

njs 0.7.11 已发布。njs 以 nginx 插件的方式存在,它是 JavaScript/ECMAscript 的子集,实现了大部分的 JavaScript 语言功能,没有完全遵从 ECMAScript 标准,同时抛弃了 JavaScript 比较难懂的部分。njs 不通过 V8 引擎实现,而是通过一个更小、

2022-05-27

njs 0.7.4 已发布,njs 以 nginx 插件的方式存在,它是 JavaScript/ECMAscript 的子集,实现了大部分的 JavaScript 语言功能,没有完全遵从 ECMAScript 标准,同时抛弃了 JavaScript 比较难懂的部分。njs 不通过 V8 引擎实现,而是通过一个更小、

2022-11-23

njs 0.7.9 已发布。njs 以 nginx 插件的方式存在,它是 JavaScript/ECMAscript 的子集,实现了大部分的 JavaScript 语言功能,没有完全遵从 ECMAScript 标准,同时抛弃了 JavaScript 比较难懂的部分。njs 不通过 V8 引擎实现,而是通过一个更小、

2022-09-01

njs 0.7.7 已发布,njs 以 nginx 插件的方式存在,它是 JavaScript/ECMAscript 的子集,实现了大部分的 JavaScript 语言功能,没有完全遵从 ECMAScript 标准,同时抛弃了 JavaScript 比较难懂的部分。njs 不通过 V8 引擎实现,而是通过一个更小、

2022-12-19

基础。 Nginx Unit 1.29.0 正式发布,更新内容如下: NGINX JavaScript 集成 NGINX JavaScript(njs)是一个服务器端的 JavaScript 运行时,为超快的初始化进行了优化。njs 最初是为扩展 NGINX 而设计的,它的架构适合于集成,现在它也扩展了

2023-09-03

可为您的服务网格奠定坚实的基础。 Nginx Unit 1.31.0 正式发布,这是继 5 月份发布 1.30 之后的又一个重要里程碑。此版本中引入 Unit WebAssembly (WASM) 功能,代表了 Unit 功能的重大飞跃。 还带来了显着的新增功能 - 能够发送 response

2022-01-21

or 还监督了其他流行的 NGINX 项目的快速发展,包括 NGINX JavaScript (njs) 和 NGINX Unit。他还设计了一个新的sendfile(2)系统调用实现,该实现被整合到 FreeBSD 操作系统中。 ▲ 右起:Igor Sysoev、首席执行官 Gus Robertson、联合创始人