我有一个 npm 项目,我在调用 node.js 时使用了很多标志,所以我的 package.json 脚本有点困惑,如下所示:
"scripts": {
"test": "node --use_strict -r dotenv/config --experimental-vm-modules node_modules/.bin/jest",
"testwatch": "node --use_strict -r dotenv/config --experimental-vm-modules node_modules/.bin/jest -watchAll",
"start": "node --use_strict -r dotenv/config --experimental-vm-modules ./src/index"
},
有没有办法在 package.json 文件的单个参数中指定 node.js 标志,以便它同时传递给所有脚本?或者,如果您能给我另一个建议,让这些命令更有条理,那也会很有用。谢谢。
最佳答案
对于这个问题,我只能想到两个解决方案。
- 使用 package.json 配置变量
- 使用别名
解决方案一:
您可以通过 $npm_package_config_<variable-name>
访问脚本中的配置变量
package.json
文件
"config": {
"testflags": "--use_strict -r dotenv/config --experimental-vm-modules"
},
"scripts": {
"test": "node $npm_package_config_testflags node_modules/.bin/jest"
}
方案二:
By the way I don't know How to do this on windows machine!!! So I'm assuming you're using Mac or GNU/Linux OS.
在您的 shellrc 文件中创建别名(例如,~/.bashrc
用于 bash,~/.zshrc
用于 zsh 等)。
在您的 ~/.bashrc
中添加以下内容或 ~/.zshrc
文件或您拥有的任何 shellrc 文件。
alias node_test='node --use_strict -r dotenv/config --experimental-vm-modules'
注意:在这里您必须提供 dotev/config
的完整路径文件。获取 config.js
的完整路径文件转到 dotenv
目录并运行 readlink -f config
.复制文件的完整路径并替换 dotenv/config
在上面的别名中。
然后保存文件并通过运行 source ~/.bashrc
获取它在终端。
现在在你的 package.json 文件中:
"scripts": {
"test": "node_test node_modules/.bin/jest"
}
关于node.js - 如何在 npm 脚本中使用 package.json 的 npm 配置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69234337/