我总是想用该--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 启动