gpt4 book ai didi

javascript - 如何在每次 ng 服务构建后链接 npm 脚本调用?

转载 作者:行者123 更新时间:2023-11-30 19:12:42 25 4
gpt4 key购买 nike

我试图在运行时链接 ng serve 脚本调用,但是当我运行此命令时,第二个链接脚本 build-components.js 仅在第一次打电话。
我认为 concurrently 包在这里将允许两个脚本根据文档 https://www.npmjs.com/package/concurrently 按顺序运行

我的目标是在每次 ng serve 运行时运行 build-components.js 脚本(即检测源更改)。

Package.json 脚本:

"build:watch": "concurrently \"ng serve --port 4003\" \"node build-components.js\""

测试

 concurrently "ng serve --port 4003" "node build-components.js"

[1] node build-components.js exited with code 0
[0] i 「wds」: Project is running at http://localhost:4003/webpack-dev-server/

问题:

如何在每次 ng serve 构建后运行另一个 npm 脚本?

我也查看了 npm post hooks,但这似乎也没有在 ng serve 运行后运行脚本。

http://www.marcusoft.net/2015/08/pre-and-post-hooks-for-npm-scripting.html#hooks-pre-and-post

这是供引用的build-components.js脚本。它将一些额外的构建文件复制到公共(public)文件夹以进行托管:

const fs = require('fs-extra');
const concat = require('concat');

(async function build() {
const js = [
'./dist/app/runtime-es2015.js',
'./dist/app/main-es2015.js',
'./dist/app/scripts.js',
];
const css = ['./dist/app/styles.css'];

await fs.ensureDir('components');
await concat(js, 'components/component.js');
await concat(css, 'components/component.css');
})();

最佳答案

这是不可能的。 ng serve 在监视模式下运行时不会完成,因此在它之后运行的链接项目将无效。 serve 命令对此没有钩子(Hook)。

关于javascript - 如何在每次 ng 服务构建后链接 npm 脚本调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58314567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com