You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将用@angular-builders/custom-webpack的Angular项目迁移至NX遇警告怎么办?

迁移使用@angular-builders/custom-webpack的Angular项目到NX集成式单体仓库的解决方案

针对NX初始化时提示的@angular-builders/custom-webpack构建器不支持自动迁移的问题,有两种可行的处理方案:

方案一:手动迁移目标配置(保留原有自定义Webpack构建器)

如果希望继续使用@angular-builders/custom-webpack,可以按以下步骤手动补全迁移:

  1. 先完成NX初始化的剩余流程,忽略当前的构建器警告。
  2. 在项目根目录的project.json文件中,手动添加build、serve、test目标的配置,参考原Angular项目angular.json中的对应配置:
    {
      "targets": {
        "build": {
          "executor": "@angular-builders/custom-webpack:browser",
          "options": {
            "outputPath": "dist/keira3",
            "index": "src/index.html",
            "main": "src/main.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "tsconfig.app.json",
            "assets": ["src/favicon.ico", "src/assets"],
            "styles": ["src/styles.scss"],
            "scripts": [],
            "customWebpackConfig": {
              "path": "./webpack.config.js"
            }
          },
          "configurations": {
            "production": {
              // 原生产环境配置内容
            }
          }
        },
        "serve": {
          "executor": "@angular-builders/custom-webpack:dev-server",
          "options": {
            "browserTarget": "keira3:build",
            "customWebpackConfig": {
              "path": "./webpack.config.js"
            }
          }
        },
        "test": {
          "executor": "@angular-builders/custom-webpack:karma",
          "options": {
            "main": "src/test.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "tsconfig.spec.json",
            "karmaConfig": "karma.conf.js",
            "assets": ["src/favicon.ico", "src/assets"],
            "styles": ["src/styles.scss"],
            "scripts": [],
            "customWebpackConfig": {
              "path": "./webpack.config.js"
            }
          }
        }
      }
    }
    
  3. 将原项目中的自定义Webpack配置文件(如webpack.config.js)迁移到NX仓库的对应位置,确保customWebpackConfig.path指向正确路径。
  4. 运行nx build、nx serve、nx test命令验证配置是否生效。

方案二:先替换构建器完成自动迁移,再重新配置自定义Webpack

如果希望利用NX的自动迁移能力,后续再恢复自定义Webpack支持,步骤如下:

  1. 回滚当前未完成的迁移操作:删除NX初始化生成的nx.json、project.json等文件,恢复原项目的angular.json文件(如果已被修改)。
  2. 修改原Angular项目angular.json中的构建器为NX自动迁移支持的官方版本:
    • 将build目标的builder改为@angular-devkit/build-angular:browser
    • 将serve目标的builder改为@angular-devkit/build-angular:dev-server
    • 将test目标的builder改为@angular-devkit/build-angular:karma
  3. 重新运行npx nx@latest init --integrated命令,此时自动迁移会顺利完成。
  4. 迁移完成后,重新安装@angular-builders/custom-webpack依赖,将project.json中的executor改回@angular-builders/custom-webpack系列,并添加customWebpackConfig配置项,关联原自定义Webpack文件。

内容的提问来源于stack exchange,提问作者Francesco Borzi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 07:13:20