我已经使用Webpack配置了一个angular2项目作为我的模块捆绑器。我有一切工作,现在我想把它带到现实世界,在那里我想传递主题和环境作为我的NPM命令的参数。下面是我当前的package.json脚本配置。
"scripts": {
"start": "webpack-dev-server",
"test": "karma start ./karma.conf.js",
"lint": "ng lint",
"e2e": "protractor ./protractor.conf.js",
"build": "webpack"
},
进一步解释,当我执行" npm start --theme = themeA --environment = UAT"我应该能够访问"主题"的值。和"环境"在我的ts文件中(比如config.ts)。 Rightnow我对值进行了硬编码,所以当我在config.ts中将themeA更改为themeB时,生成的输出是用于themeB的。但我希望将其作为命令行驱动。
因此,在坚果壳中,
1.如何将自定义参数传递给NPM命令
2.如何访问js中的值
注意:我想在npm start和npm build中都这样做。
答案 0 :(得分:0)
你应该使用的主要问题"双击"为命令的选项结束。见answer about --
我做了下一个:
scripts": {
//this is for nodejs memory limit
"build": "node ./tools/bundle --max_old_space_size=4096",
//this arguments will be thrown to the start.js
"start": "node ./tools/start -- verbose release no-compile",
}
并在start.js中控制选项(参数):
var options = {
release: process.argv.indexOf('release') !== -1,
noCompile: process.argv.indexOf('no-compile') !== -1,
start: process.argv.indexOf('start') !== -1,
verbose: process.argv.indexOf('verbose') !== -1,
};