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

Angular 13生产构建速度过慢求助:迁移后构建时长大幅增加

Angular 6迁移至Angular 13后生产构建时长大幅增加

近期将项目从Angular 6迁移至Angular 13后,使用ng build --prod=true执行生产构建时,时长达到24至30分钟,而此前Angular 6环境下仅需10分钟。已对angular.json文件进行了部分调整,但并未见到明显改善。

构建截图

以下为angular.json配置文件:

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "Dashboard": {
      "root": "",
      "sourceRoot": "src",
      "projectType": "application",
      "prefix": "app",
      "schematics": {
        "@schematics/angular:component": {
          "style": "scss"
        }
      },
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "allowedCommonJsDependencies": [
              "core-js",
              "raf",
              "xlsx",
              "@babel/runtime"
            ],
            "outputPath": "dist/Dashboard",
            "index": "src/index.html",
            "main": "src/main.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "src/tsconfig.app.json",
            "assets": [
              "src/favicon.ico",
              "src/assets",
              "src/Web.config"
            ],
            "styles": [
              
              "node_modules/font-awesome/scss/font-awesome.scss",
              "node_modules/bootstrap/scss/bootstrap.scss",
              "node_modules/primeng/resources/primeng.min.css",
              "node_modules/primeicons/primeicons.css",
              "node_modules/primeng/resources/themes/rhea/theme.css",
              "node_modules/intl-tel-input/build/css/intlTelInput.css",
              "node_modules/@syncfusion/ej2-base/styles/material.css",
              "node_modules/@syncfusion/ej2-angular-base/styles/material.css",
              "node_modules/@syncfusion/ej2-buttons/styles/material.css",
              "node_modules/@syncfusion/ej2-inputs/styles/material.css",
              "node_modules/@syncfusion/ej2-popups/styles/material.css",
              "node_modules/@syncfusion/ej2-lists/styles/material.css",
              "node_modules/@syncfusion/ej2-splitbuttons/styles/material.css",
              "node_modules/@syncfusion/ej2-calendars/styles/material.css",
              "node_modules/@syncfusion/ej2-angular-calendars/styles/material.css",
              "src/styles.scss",
              "node_modules/@syncfusion/ej2-layouts/styles/material.css",
              "node_modules/@syncfusion/ej2-navigations/styles/material.css",
              "node_modules/@syncfusion/ej2-angular-inputs/styles/material.css",
              "node_modules/@syncfusion/ej2-angular-notifications/styles/material.css",
              "node_modules/@syncfusion/ej2-angular-dropdowns/styles/material.css",
              "node_modules/@syncfusion/ej2-angular-buttons/styles/material.css",
              "node_modules/@angular/cdk/overlay-prebuilt.css",
              "node_modules/@syncfusion/ej2-dropdowns/styles/material.css",
              "node_modules/@syncfusion/ej2-angular-grids/styles/material.css"
            ],
            "scripts": [
              "node_modules/jquery/dist/jquery.js",
              "node_modules/signalr/jquery.signalR.js",
              "node_modules/intl-tel-input/build/js/intlTelInput.min.js"
            ],
            "aot": false,
            "vendorChunk": true,
            "extractLicenses": false,
            "buildOptimizer": false,
            "sourceMap": true,
            "optimization": false,
            "namedChunks": true
          },
          "configurations": {
            "production": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.prod.ts"
                }
              ],
              "optimization":
               {"scripts":true,
              "styles":{
                "minify": true,
                "inlineCritical": true
              },
              "fonts":true},
              "outputHashing": "all",
              "sourceMap": false,
              "namedChunks": false,
              "aot": true,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true
            },
            "uat": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.ts"
                }
              ],
              "optimization": true,
              "outputHashing": "all",
              "sourceMap": false,
              "namedChunks": false,
              "aot": true,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true
            },
            "local": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.local.ts"
                }
              ],
          "optimization": false,
          "extractCss": true,
          "vendorChunk": true,
          "extractLicenses": false,
          "buildOptimizer": false,
          "outputHashing": "none",
          "sourceMap": false,
          "namedChunks": false,
          "aot": true,
          "progress": false
            }
          }
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "browserTarget": "Dashboard:build",
            "proxyConfig": "proxy.conf.json"
          },
          "configurations": {
            "production": {
              "browserTarget": "Dashboard:build:production"
            },
            "local": {
              "browserTarget": "Dashboard:build:local"
            }
          }
        },
        "extract-i18n": {
          "builder": "@angular-devkit/build-angular:extract-i18n",
          "options": {
            "browserTarget": "Dashboard:build"
          }
        },
        "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "src/test.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "src/tsconfig.spec.json",
            "karmaConfig": "src/karma.conf.js",
            "styles": [
              "src/styles.scss"
            ],
            "scripts": [],
            "assets": [
              "src/favicon.ico",
              "src/assets"
            ]
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": [
              "src/tsconfig.app.json",
              "src/tsconfig.spec.json"
            ],
            "exclude": [
              "**/node_modules/**"
            ]
          }
        }
      }
    },
    "Dashboard-e2e": {
      "root": "e2e/",
      "projectType": "application",
      "architect": {
        "e2e": {
          "builder": "@angular-devkit/build-angular:protractor",
          "options": {
            "protractorConfig": "e2e/protractor.conf.js",
            "devServerTarget": "Dashboard:serve"
          },
          "configurations": {
            "production": {
              "devServerTarget": "Dashboard:serve:production"
            }
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": "e2e/tsconfig.e2e.json",
            "exclude": [
              "**/node_modules/**"
            ]
          }
        }
      }
    }
  },
  "defaultProject": "Dashboard",
  "cli": {
    "analytics": "e333499c-dad7-4f87-a7b8-78fd13a99d5b"
  }
}

本地电脑配置如下,硬件并非问题所在:

  • 处理器:11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz 2.42 GHz
  • 安装内存:16.0 GB(15.7 GB可用)
  • 系统:Windows 11

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 11:14:57