在文件中设置 Harmony 标志

Set Harmony flags in the file

我正在通过 运行在 io.js 上使用 ES6 来使用不同的标志,例如:

iojs --harmony_arrow_functions arrow.es6
iojs --harmony_modules --harmony_destructuring importer.es6

但是不断地手动写这个标志是很无聊的 我总是混淆特定文件需要哪些标志。我可以在文件中设置标志,例如:

process.env['--harmony_modules'];
process.env['--harmony_destructuring']; or
process.env['flags'] = ['--harmony_modules', '--harmony_destructuring'];

或运行io.js./config文件?

如果您只是尝试使用 ES6,请尝试 babel.js REPL. Also check their setup page,它提供了有关如何使用 babel 即时转换代码的说明(对于许多不同的 tools/use-cases)。

如果您不想使用像 babel.js 这样的转译器,那么您可以创建一个别名或脚本来执行 io.js 并启用所有和谐标志,然后使用它来启动你所有的脚本。例如,作为别名:

alias iojs-es6='iojs --harmony_arrow_functions --etc...'

请注意 io.js (V8 4.1+) 所有 stable ES6 features are enabled by default。所以你只需要为其他任何东西提供标志:

  • staging - 使用 --es_staging 启用 - 目前只有 Symbol.toStringTag
  • in progress - 当前 : --harmony_modules --harmony_arrays --harmony_array_includes --harmony_regexps --harmony_arrow_functions --harmony_proxies --harmony_sloppy --harmony_unicode

io.js 与节点合并:https://iojs.org

你说每次都传flag很烦人。 您可以像这样向 package.json 添加脚本:

  "scripts": {
    "start": "node --es_staging --harmony_destructuring server.js"
  }

然后 npm run startnpm start 简称 运行 您的脚本。

许多 ES2015/ES6 功能现已在 Node 中启用,开箱即用: https://nodejs.org/en/docs/es6/

您可以 运行 具有不会自动启用的稳定 ES2015 功能的节点,如下所示: node --es_staging server.js

您可以 运行 Bash 中的此命令来查看所有和谐标志: node --v8-options | grep harmony

例如,要获得 ES2015 特性和解构(目前从 Node 5.3 开始还不稳定):

node --es_staging --harmony_destructuring server.js

为了使 Node 保持最新,nvm 非常棒:https://www.npmjs.com/package/nvm