Как добавить переменную npm запустить build в package.json - PullRequest
1 голос
/ 13 марта 2019

У меня есть 6 проектов в рабочей области Angular, и я должен построить каждый.Вместо того чтобы написать шесть строк в моем package.json для каждого проекта, например: "build_a": "npm run build a" "buiild_b": "npm run build b"

Я хотел бы создать только однустрока вроде этой:

"build_app": "npm run build name =" aaa ""

Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 19 марта 2019

Наконец я нашел решение, используя скрипт 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

0 голосов
/ 13 марта 2019

Вы можете положиться на переменные окружения для обнаружения таких имен.

однако это зависит от того, какую операционную систему вы используете и как определять переменные env.

"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"
}

В итоге вы получите более или менее похожий раздел сценария.

...