始终使用 --harmony 标志运行节点

始终使用 --harmony 标志运行节点

我总是想用该--harmony标志运行 Node.JS。有没有办法轻松地默认启用该标志?

(注意:我在 Windows 上运行,因此我只能访问 Cygwin 或 Mingw 作为 shell。)

答案1

如果你正在讨论以交互方式运行,则可以使用 bash alias。将其放入你的~/.bashrc

alias node="node --harmony"

(对于以下内容:请注意,当我说“可执行文件”时,我不仅仅指二进制文件或“ .exe 文件”。 “可执行文件”包括无需明确调用解释器即可执行的任何内容,其中包括带有 shebang 的脚本。)

如果您想要运行可执行文件(例如在另一个脚本中),您可以创建一个使用额外标志启动目标的 shell 脚本:

创建一个nodeHarmony并将其放在您的搜索路径中,例如/usr/local/bin

#!/bin/sh

node --harmony "$@"

然后chmod a+x它。

然后,每当您想要附加该标志时执行nodeHarmony。如果您想替换node可执行文件,您可以将其重命名node为其他名称(例如node_original),将脚本命名为node,然后node_original在脚本中使用。

您还可以创建等效的 Windows 批处理脚本,它可以在 Cygwin/MinGW 之外运行:

@echo off

node --harmony %*

这将表现得类似,但可能会在某些参数组合中表现出奇怪的效果,因为列表将被解析两次 - 一次是在执行批处理脚本时,一次是在执行时在脚本内node。一些解决方法这里

答案2

如果你准备重新编译 node.js,那么本文 如何在 node.js 中获得和谐说:

获得源代码后,打开 deps/v8/src/flag-definitions.h并查找第 115 行。将标志从 false 更改为 true:

DEFINE_bool(harmony, true, "enable all harmony features")

然后编译 Node:

./configure && make && make install

答案3

显然https://www.npmjs.org/package/setflags可用于在运行时设置标志,但是我无法安装它

答案4

你为什么不配置包文件.json脚本命令?

例如,在 package.json 中添加:

  "scripts": {
    "start": "node --harmony server.js"
  }

然后在cmd中运行(在项目目录中):

npm 启动

相关内容