返回介绍

介绍

其他

How-To

开发

模块参考

关于 nginScript

发布于 2024-08-13 23:46:27 字数 7458 浏览 0 评论 0 收藏 0

nginScript 是 JavaScript 语言的一个子集,其可在 httpstream 中实现位置(location)和变量处理器。nginScript 符合 ECMAScript 5.1 规范和部分 ECMAScript 6 扩展。合规性仍在不断发展。

目前支持什么

  • 布尔值、数字、字符串、对象、数组、函数和正则表达式
  • ES5.1 运算符,ES7 幂运算符
  • ES5.1语句:varifelseswitchforfor inwhiledo whilebreakcontinuereturntrycatchthrowfinally
  • ES6 NumberMath 的属性和方法
  • String 方法:
    • ES5.1:fromCharCodeconcatslicesubstringsubstrcharAtcharCodeAtindexOflastIndexOftoLowerCasetoUpperCasetrimsearchmatchsplitreplace
    • ES6:fromCodePointcodePointAtincludesstartsWithendsWithrepeat
    • 非标准:fromUTF8toUTF8fromBytestoBytes
  • Object 方法:
    • ES5.1:create(不支持属性列表),keysdefinePropertydefinePropertiesgetOwnPropertyDescriptorgetPrototypeOfhasOwnPropertyisPrototypeOfpreventExtensionsisExtensiblefreezeisFrozensealisSealed
  • Array 方法:
    • ES5.1:isArrayslicesplicepushpopunshiftshiftreversesortjoinconcatindexOflastIndexOfforEachsomeeveryfiltermapreducereduceRight
    • ES6:offillfindfindIndex
    • ES7:includes
  • ES5.1 Function 方法:callapplybind
  • ES5.1 RegExp 方法:testexec
  • ES5.1 Date 方法
  • ES5.1 全局函数:isFiniteisNaNparseFloatparseIntdecodeURIdecodeURIComponentencodeURIencodeURIComponent

还不支持什么

  • ES6 letconst 声明
  • 标签
  • arguments 数组
  • eval 函数
  • JSON 对象
  • Error 对象
  • setTimeoutsetIntervalsetImmediate 函数
  • 非整数分数(.235),二进制(0b0101),八进制(0o77)字面量

下载与安装

nginScript 可用于以下两个模块:

这两个模块都不是默认构建的,它们应该从源文件中编译或者作为一个 Linux 软件包来安装

Linux 包安装方式

在 Linux 环境中,可以使用 nginScript 模块

  • nginx-module-njs - nginScript 动态模块
  • nginx-module-njs-dbg - nginx-module-njs 包的调试符号

源码构建方式

可以使用以下命令克隆 nginScript 的源码仓库:(需要 Mercurial 客户端):

hg clone http://hg.nginx.org/njs

然后使用 --add-module 配置参数进行编译模块:

./configure --add-module=path-to-njs/nginx

该模块也可以构建为动态的

./configure --add-dynamic-module=path-to-njs/nginx

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文