【问题标题】:Pre and post build steps in nx.devnx.dev 中的构建前和构建后步骤
【发布时间】:2020-06-10 09:24:30
【问题描述】:

我正在使用 nx.dev 构建和测试 Web 应用程序。 workspace.json 包含用于构建和测试应用程序的脚本,但是构建阶段仍需要对某些文件进行预处理。

有没有办法添加预构建步骤(即指定外部 bash 脚本或 JavaScript 代码)?

在线文档没有提到 https://nx.dev/react/cli/build

【问题讨论】:

    标签: javascript nx.dev


    【解决方案1】:

    build 构建器本身没有运行 shell 脚本的选项,但您可以使用 @nrwl/workspace:run-commands 构建器来执行此操作。

    在您的workspace.json 中,您应该添加到相关项目的architect 部分。

    "architect": {
      "prepare": {
        "builder": "@nrwl/workspace:run-commands",
        "options": {
          "commands": [
            {
              "command": "echo Hello!"
            }
          ]
        }
      }
    }
    

    我将目标命名为prepare,但您可以选择任何您想要的名称。然后你可以用nx prepare [projectName] 执行它。

    您可以使用run-commands 组合现有目标,例如buildtest,并使用任意shell 命令来形成新目标。由您决定如何连接。

    我在这里整理了一个示例 repo 给你一些想法:https://github.com/jaysoo/nx-run-commands-example

    【讨论】:

    • 对于任何对属性键命名法(建筑师、建造者)感到困惑的人,请阅读 nx 文档中的这一行:“注意:workspace.json 中有一些属性键具有可互换的别名。您可以将 generators 替换为 schematics,将 targets 替换为 architect 或将 executor 替换为 builder 。” (nx.dev/latest/angular/executors/…)
    • 这一切都很好,谢谢,但它没有回答“帖子”部分。如果我理解正确,这无助于创建将在“构建”目标运行之后运行的自动化“任务”(抽象地说)。
    • 您当前可以创建一个“dependsOn”键,其中包含一个应该在当前目标“之前”运行的目标数组。所以已经涵盖了 npm 'pre-' 部分。只有'post-'脚本部分没有被覆盖,这是可悲的。请参见此处:nx.dev/l/a/core-concepts/configuration 并滚动到“目标依赖项”
    猜你喜欢
    • 1970-01-01
    • 2014-06-29
    • 1970-01-01
    • 2017-02-01
    • 2011-01-20
    • 1970-01-01
    • 2018-09-08
    • 2019-02-18
    • 1970-01-01
    相关资源
    最近更新 更多