定制ng serve命令角度

时间:2019-08-08 12:07:25

标签: angular bash git

我需要自定义ng serve命令以运行角度应用程序。

要求-我需要在每个ng serve之前运行一些bash脚本命令,例如,如果我运行命令ng serve,则需要运行这样的命令

node abc.js && ng serve

不确定这是否可行,如果可以,请帮忙。

PS:我不想使用npm start,我试图更改package.json文件中的脚本,但这种方式行不通。

PPS:或者是否有任何方法可以在任何git命令之前运行同一命令?说我运行命令git add .,它应该在内部运行node abc.js && git add .

3 个答案:

答案 0 :(得分:1)

npm脚本?

您可以使用npm package.json脚本,该脚本已如此处所示进行了

"ng": "ng",
"start": "ng serve",
"build": "ng build",

并且可以像npm startnpm build这样运行,但是您可以创建自己的脚本,例如

"prod": "ng build --prod",

自定义脚本的运行方式如下:npm run prod

git钩子?

类似于pre-commit,每个Git存储库都有一个.git / hooks文件夹,其中包含可以绑定到的每个钩子的脚本。您可以根据需要自由更改或更新这些脚本,当这些事件发生时,Git将执行它们。

.git/hooks中创建一个名为pre-commit的文件,稍后像这样更新文件

node abs 

git add .

先运行ng并提交

#!/usr/bin/env node
console.log('running fast build test .....');

require('child_process').exec(
  'ng build',
  function (error, stdout) {
    console.log(stdout && 'stdout: ' + stdout);
    if (error !== null) {
      console.log(error);
      process.abort(0);
    }
  }
);

上面的这些命令将在每次提交之前运行,请尝试一下

githooks ??

答案 1 :(得分:0)

在您的package.json的Angular项目中,更改为关注并运行npm start而不是ng serve

 "scripts": { ...   
   "start": "node abc.js && ng serve,
    ...
    }

答案 2 :(得分:0)

您可以在npm中创建自己的自定义package.json命令

  "scripts": {
    "custom": "node abc.js && ng serve"
   }

然后必须执行npm run custom。它将首先执行node abc.js,然后执行ng serve

请记住使用npm run <command-name>而不是npm <command-name>

如果使用run,它将查找您的本地(项目)npm。如果不运行,它将查找全局命令(已全局安装在您的计算机上),并且您的自定义命令将不会运行(因为未全局声明)。