如何在package.json中添加变量npm run build

时间:2019-03-13 16:42:09

标签: variables npm package.json

我在Angular工作区中有6个项目,我必须构建每个项目。而不是在我的package.json中为每个项目写六行,例如: “ build_a”:“ npm运行构建” “ buiild_b”:“ npm运行build b”

我只想这样创建一行:

“ build_app”:“ npm运行内部版本名称=” aaa“”

我该怎么做?

2 个答案:

答案 0 :(得分:0)

您可以依靠环境变量来发现此类名称。

但这取决于您所使用的操作系统以及如何定义环境变量。

"scripts":{
  "build:a":"cross-env NAME=a npm run build",
  "build:b":"cross-env NAME=b npm run build",
  "build:c":"cross-env NAME=c npm run build",
  "build":"browserify src/main.js -o build.js"
}

您将最终获得一个或多或少像这样的脚本部分。

答案 1 :(得分:0)

最后,我找到了使用node.js脚本的解决方案:build-subproject.js。

const { exec } = require('child_process');
const args = process.argv.slice(2).join(' ');

console.log(`RUNNING build with args: ${args}`);
exec(
  `ng build ${args} && cd dist/${args} && npm pack `,
  (error, stdout) => {
    if (error) {
      console.error(`exec error: ${error}`);
      return;
    }
    console.info(`stdout: ${stdout}`);
  }
);

在package.json中,

"build-subproject": "node ./build-subproject.js",

然后运行npm run build-subproject my-project-name