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

Chr*_*pez 5 webpack angular-cli angular

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

"architect": {
        "build": {
          "builder": "@angular-builders/custom-webpack:browser",
          "options": {
            "customWebpackConfig":{
              "path":"./custom-webpack.config.js",
              "replaceDuplicatePlugins":true
            },
Run Code Online (Sandbox Code Playgroud)

"serve": {
          "builder": "@angular-builders/custom-webpack:dev-server",
          "options": {
            "browserTarget": "myProject:build"
          },
Run Code Online (Sandbox Code Playgroud)

但是当运行 ngserve 或 ngbuild 时,我收到此错误:

Job name "..getProjectMetadata" does not exist.
Error: Job name "..getProjectMetadata" does not exist.
Run Code Online (Sandbox Code Playgroud)

这些是我的 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",
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Ham*_*uli 1

这似乎是一个问题,@angular-devkit/build-angular 因此将您的版本降级为:

npm i @angular-devkit/build-angular@0.803.24
Run Code Online (Sandbox Code Playgroud)