ng build 后运行 Angular-cli 命令

问题描述 投票:0回答:3

我想知道如何扩展 ng build 以在完成后运行任务。

目前,我的最终目标是将“package.json”复制到 dist 文件夹。

如果我使用普通的 npm,会是这样的:

"postbuild": "cpx ./package.json ./dist/",

我知道在 angular-cli.json 中我可以使用“assets”来复制静态文件,但它不适用于 src 之外的文件。所以,我想知道 ng build 完成后是否可以执行复制任务。

angular angular-cli
3个回答
46
投票

定义 npm 脚本

"build":" "ng build"

并添加构建后脚本。

"postbuild": "cpx ./package.json ./dist/",

这样,运行后就会调用复制脚本

npm run build


10
投票

您可以在任何 npm 脚本之前或之后执行任何自定义脚本。这称为“hooks”,它包含在 npm 中。在您的情况下,您可以执行“post”挂钩,但请记住,也可以执行“pre”挂钩。

在 package.json 中定义这 3 个脚本:

"hello": "echo execute hello",
"prehello": "echo execute prehello",
"posthello": "echo execute posthello"

您可以在这里找到更多有用的信息:https://www.marcusoft.net/2015/08/pre-and-post-hooks-for-npm-scripting.html


0
投票

我意识到这已经很旧了,但我发现“传统”软件设置很有用。我将 PHP 文件和 .htaccess 文件保留在 src/includes 文件夹中。

然后在资产下的 angular.json 中添加:“src/includes”(这会将文件夹与文件一起部署)

之后,您可以将 ng build 等工具更改为脚本。通常,“npm run build”作为“ng build”内置在脚本下的 package.json 文件中。我在构建下更改了这些行: "ng build --configuration production --aot" 和 "postbuild": "robocopy .\src\includes .\dis

© www.soinside.com 2019 - 2024. All rights reserved.