【问题标题】:angular-cli run command after ng buildng build 后的 angular-cli 运行命令
【发布时间】:2016-12-12 20:58:16
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: angular angular-cli


    【解决方案1】:

    定义一个 npm 脚本

    "build":" "ng build"
    

    并添加 postbuild 脚本。

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

    这样,在您运行 npm run build 后,复制脚本就会被调用。

    【讨论】:

    • 在使用ng build --watch 并在每次构建后运行脚本时,有没有办法让它工作?
    • @kapser 好像有人想出了一个解决方案:stackoverflow.com/questions/42364234/…
    • 在 Angular 7.2 中测试,但它仅在 --configure 等于开发而非生产时才有效。如何为生产构建运行 postbuild 脚本?
    【解决方案2】:

    您可以在任何 npm 脚本之前或之后执行任何自定义脚本。这称为“钩子”,它包含在 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

    【讨论】:

      猜你喜欢
      • 2017-12-31
      • 2021-12-21
      • 1970-01-01
      • 1970-01-01
      • 2020-07-26
      • 1970-01-01
      • 2017-12-14
      • 2018-12-01
      • 2019-01-17
      相关资源
      最近更新 更多