如何在 Angular 8 项目中为 angular CLI 配置自定义 webpack?

How to configure a custom webpack for angular CLI in Angular 8 project?

我正在尝试配置一个自定义-webpack.config.js 以使用 copyWebpackPlugin 将一些图标从库移动到我的资产,我已经创建了我的自定义-webpack.config.js 文件,这是我在 angular.json:

"architect": {
        "build": {
          "builder": "@angular-builders/custom-webpack:browser",
          "options": {
            "customWebpackConfig":{
              "path":"./custom-webpack.config.js",
              "replaceDuplicatePlugins":true
            },

"serve": {
          "builder": "@angular-builders/custom-webpack:dev-server",
          "options": {
            "browserTarget": "myProject:build"
          },

但是当 运行 ng serve 或 ng build 时,我收到此错误:

Job name "..getProjectMetadata" does not exist.
Error: Job name "..getProjectMetadata" does not exist.

这些是我的 Angular 库:

"@angular/animations": "^8.0.0",
    "@angular/cdk": "^8.0.1",
    "@angular/common": "^8.0.0",
    "@angular/compiler": "^8.0.0",
    "@angular/core": "^8.0.0",
    "@angular/forms": "^8.0.0",
 "@angular-builders/custom-webpack": "^9.0.0",
    "@angular-builders/dev-server": "^7.3.1",
    "@angular-devkit/build-angular": "^0.803.23",
    "@angular/cli": "8.0.0",
    "@angular/compiler-cli": "^8.0.0",
    "@angular/language-service": "^8.0.0",

有什么想法吗?

这似乎是 @angular-devkit/build-angular 的问题 所以将你的版本降级到这个:

npm i @angular-devkit/build-angular@0.803.24

我运行遇到了同样的问题,上面的建议仍然导致错误。

除了使用 @angular-devkit/build-angular@0.803.24,还可以尝试 "@angular-builders/custom-webpack": "8.4.1"

老实说,我无法解释为什么会这样,我只是注意到 angular-builders/custom-webpack 的最早版本不依赖于较新(损坏)版本的 build-angular 有效,并允许我导入工作版本。