如何在 NPM 的 package.json 脚本中传递命令行变量?
How to pass command-line variable in package.json script, in NPM?
几乎就是我要找的。
我使用 Gulp 来构建我们的 NPM。我能够做到这一点,使用 yargs plugin
$ gulp build --gitTag 1.0.0
并生成 dist/packageName-1.0.0.zip
文件。但是,我需要能够做到这一点
$ npm run build --gitTag=1.0.0
我试过了,
"scripts": {
"build": "npm ci && gulp build --gitTag %npm_config_gitTag%"
}
...还有这个
"scripts": {
"build": "export GIT_TAG=%npm_config_gitTag% && npm ci && gulp build"
}
但是,%npm_config_gitTag%
没有替换为我传入的 gitTag
参数,这意味着生成的工件是 packageName-%npm_config_gitTag%.zip
我的 build
脚本在 package.json
文件中应该是什么样子?
我找到了妙方
我的 package.json
中只有这个
"scripts": {
"build": "npm ci && gulp build"
}
并使用以下命令行
$ npm run build -- --gitTag 1.0.0
并获得想要的 packageName-1.0.0.zip
神器。
我使用 Gulp 来构建我们的 NPM。我能够做到这一点,使用 yargs plugin
$ gulp build --gitTag 1.0.0
并生成 dist/packageName-1.0.0.zip
文件。但是,我需要能够做到这一点
$ npm run build --gitTag=1.0.0
我试过了,
"scripts": {
"build": "npm ci && gulp build --gitTag %npm_config_gitTag%"
}
...还有这个
"scripts": {
"build": "export GIT_TAG=%npm_config_gitTag% && npm ci && gulp build"
}
但是,%npm_config_gitTag%
没有替换为我传入的 gitTag
参数,这意味着生成的工件是 packageName-%npm_config_gitTag%.zip
我的 build
脚本在 package.json
文件中应该是什么样子?
我找到了妙方
我的 package.json
"scripts": {
"build": "npm ci && gulp build"
}
并使用以下命令行
$ npm run build -- --gitTag 1.0.0
并获得想要的 packageName-1.0.0.zip
神器。