Nx 不再支持 angular.json 的 v2 格式

Get*_*awn 5 javascript angular nrwl nrwl-nx

我正在尝试在我的项目中升级 Angular (v15) 和 nx (v16),但我遇到的问题是当我启动项目时 NX 抛出错误:

 >  NX   angular.json format is incorrect

   Nx no longer supports the v2 format of angular.json.
   Run "nx g @nx/workspace:fix-configuration" to split angular.json into individual project.json files. (Recommended)
   If you want to preserve angular.json, run "nx g @nx/workspace:fix-configuration --reformat"
Run Code Online (Sandbox Code Playgroud)

这让我感到困惑,因为我的项目已经分成project.json文件。我确实尝试运行两个建议的命令,它成功了,但没有文件被更新......

这是我的angular.json文件,看起来格式正确:

{
  "$schema": "./node_modules/nx/schemas/workspace-schema.json",
  "version": 2,
  "projects": {
    "xxx": "libs/xxx",
    "xxx-e2e": "apps/xxx-e2e",
    "yyy": "libs/yyy",
    "yyy-e2e": "apps/yyy-e2e"
  }
}
Run Code Online (Sandbox Code Playgroud)

然后,我得到project.json每个项目的位置如下(xxx项目在哪里,有些包含-e2e,有些则不取决于项目是 e2e 应用程序还是库):

{
  "$schema": "../../node_modules/nx/schemas/project-schema.json",
  "name": "xxx-e2e",
  // Either the e2e schema
  // or the library schema
}
Run Code Online (Sandbox Code Playgroud)

Get*_*awn 3

对我来说解决这个问题的只是删除angular.json,因为 NX 不再使用该angular.json文件。数据存储在 中project.json,并且 NX 似乎加载了所有文件project.json(可能使用 glob)。

所以,我的解决方案:删除(或重命名)angular.json.