如何在nx服务之前执行nx构建?

2024-02-07

好奇执行的正确方法是什么nx build命令作为先决条件nx serve?

例如,在我的workspace.json 的示例中:

"foo": {
  "root": "apps/foo",
  "sourceRoot": "apps/foo/src",
  "projectType": "application",
  "prefix": "foo",
  "schematics": {},
  "architect": {
    "build": {
      "builder": "./tools/builders/foo:build",
      "options": {}
    },

    "serve": {
      "builder": "./tools/builders/foo:serve",
      "options": {}
    }
  }
},

当我跑步时nx serve foo我想让它自动调用nx build foo --with-deps

执行此操作的“nx 方式”是什么?


为了实现您想要的目标,您可以定义一个新目标:

  "architect": {
    "build": {
      "builder": "./tools/builders/foo:build",
      "options": {}
    },

    "base-serve": {
      "builder": "./tools/builders/foo:serve",
      "options": {}
    },

    "serve": {
      "builder": "@nrwl/workspace:run-commands",
      "options": {
        "commands": [
           "nx build foo --with-deps",
           "nx base-serve foo"
        ],
        "parallel": false        
      }       
    }
  }

运行命令允许您并行或按顺序调用任意数量的命令或 shell 脚本。您可以阻止某些输出的出现等。

就您而言,您似乎有一个自定义构建器。因此,您还可以扩展构建器以在开始服务之前调用构建目标。如果您多次使用同一个服务构建器,这可能会更好。

Nx 没有“面向方面”的装饰目标的方法。主要原因是它适用于基本场景,但不适用于任何复杂的场景。例如,在您的情况下,您可能想要查看文件并重建项目的所有部门。像这样:https://github.com/nrwl/nx-incremental-large-repo/blob/master/tools/scripts/watch.js https://github.com/nrwl/nx-incremental-large-repo/blob/master/tools/scripts/watch.js

因此可能需要一个长时间运行的进程来执行重建。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在nx服务之前执行nx构建? 的相关文章

随机推荐