导读 Njs 0.8.0发布,分为nginx模块和核心进行介绍。

nginx模块
  1. 更改:删除了0.7.10版本中引入的Fetch API中对禁止的头信息的特殊处理。
  2. 更改:删除了http模块中自0.5.0以来废弃的r.requestBody()和r.responseBody()。
  3. 更改:在http模块中过滤时,在r.internalRedirect()中抛出一个异常。
  4. 特性:引入全局nginx属性:ngx.build、ngx.conf_file_path、ngx.error_log_path、ngx.prefix、ngx.version、ngx.version_number和ngx.worker_id。
  5. 特性:为 http 和 stream 引入了 js_shared_dict_zone 指令,允许声明工作进程之间共享的字典。
  6. 改进:增加了禁用njs模块的编译时选项。例如,禁用libxslt相关代码:
    NJS_LIBXSLT=NO ./configure .–add-module=/path/to/njs/module
  7. 错误修正:修复了http模块中过滤时的r.status设置器。
  8. 错误修正:修正了http模块中Location头的设置。
核心
  1. 更改:本地方法提供了retval参数。这一变化破坏了与NJS的C扩展的兼容性,需要修改代码。
  2. 更改:删除了不符合要求的废弃的String方法。以下方法已被删除:String.bytesFrom(), String.prototype.fromBytes(), String.prototype.fromUTF8(), String.prototype.toBytes(), String.prototype.toUTF8(), String.prototype.toString(encoding)。
  3. 更改:删除对使用GNU readline构建的支持。
  4. 特性:添加了符合ES13标准的数组方法:Array.from(), Array.prototype.toSorted(), Array.prototype.toSpliced(), Array.prototype.toReversed()。
  5. 特性:增加了符合ES13标准的TypedArray方法:%TypedArray%.prototype.toSorted(), %TypedArray%.prototype.toSpliced(), %TypedArray%.prototype.toReversed()。
  6. 特性:在WebCrypto API中增加了CryptoKey属性。增加了以下属性:算法、可提取、类型、用途。
  7. 错误修正:修正了сrypto.getRandomValues()的retval。
  8. 错误修正:修正了用函数表达式计算的属性名称的评估。
  9. 错误修正:修正了在数组中声明的函数表达式的隐含名称。
  10. 错误修正:修正了for-in循环的解析问题。
  11. 错误修正:修正了Date.parse()的ISO-8601格式和UTC时间偏移。

原文来自:http://www.linuxeden.com/a/123449

本文地址:https://www.linuxprobe.com/njs-0-8.html编辑:王艳敏,审核员:清蒸github

Linux命令大全:https://www.linuxcool.com/

Linux系统大全:https://www.linuxdown.com/

红帽认证RHCE考试心得:https://www.rhce.net/