如何在 npm 脚本中使用 package.json 的 npm 配置变量
How to use npm config variables of package.json in npm scripts
我有一个 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 配置变量
- 使用别名
解决方案 1:
您可以通过$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"
}
解决方案 2:
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
。
然后保存文件并在终端中通过 运行ning source ~/.bashrc
获取它。
现在在您的 package.json 文件中:
"scripts": {
"test": "node_test node_modules/.bin/jest"
}
我有一个 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 配置变量
- 使用别名
解决方案 1:
您可以通过$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"
}
解决方案 2:
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
。
然后保存文件并在终端中通过 运行ning source ~/.bashrc
获取它。
现在在您的 package.json 文件中:
"scripts": {
"test": "node_test node_modules/.bin/jest"
}