npm的自定义参数以webpack开头

时间:2017-02-25 02:53:39

标签: node.js npm npm-start

我已经使用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中都这样做。

1 个答案:

答案 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,
};