我需要自定义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 .
答案 0 :(得分:1)
npm脚本?
您可以使用npm package.json脚本,该脚本已如此处所示进行了
"ng": "ng",
"start": "ng serve",
"build": "ng build",
并且可以像npm start
或npm 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);
}
}
);
上面的这些命令将在每次提交之前运行,请尝试一下
答案 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。如果不运行,它将查找全局命令(已全局安装在您的计算机上),并且您的自定义命令将不会运行(因为未全局声明)。