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

Angular项目执行ng s时@angular/router模块构建失败求助

Angular项目ng serve启动时模块构建失败的解决方案

问题描述

执行ng s(或ng serve)启动Angular项目时,触发以下模块构建失败错误:

./node_modules/@angular/router/fesm2022/router.mjs - Error: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/tools/babel/webpack-loader.js):
TypeError: E:\Downloads\SpringBootProjects\AngularNgPrime\client\node_modules@angular\router\fesm2022\router.mjs: Cannot read properties of undefined (reading 'file')

已尝试的操作:

  • 删除并重新安装node_modules
  • 更换新文件夹重新创建项目
    问题仍未解决。

项目package.json配置如下:

{
  "name": "client",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "watch": "ng build --watch --configuration development",
    "test": "ng test"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^14.2.0",
    "@angular/common": "^14.2.0",
    "@angular/compiler": "^14.2.0",
    "@angular/core": "^14.2.0",
    "@angular/forms": "^14.2.0",
    "@angular/platform-browser": "^14.2.0",
    "@angular/platform-browser-dynamic": "^14.2.0",
    "@angular/router": "^14.2.0",
    "rxjs": "~7.5.0",
    "tslib": "^2.3.0",
    "zone.js": "~0.11.4"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^14.2.12",
    "@angular/cli": "~14.2.12",
    "@angular/compiler-cli": "^14.2.0",
    "@types/jasmine": "~4.0.0",
    "jasmine-core": "~4.3.0",
    "karma": "~6.4.0",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage": "~2.2.0",
    "karma-jasmine": "~5.1.0",
    "karma-jasmine-html-reporter": "~2.0.0",
    "typescript": "~4.7.2"
  }
}

解决方案

针对该报错,可尝试以下修复方式:

1. 降级@angular-devkit/build-angular版本

当前使用的@angular-devkit/build-angular@14.2.12存在babel-loader相关已知bug,将其锁定到14.2.11版本:
修改package.json中的对应依赖:

"@angular-devkit/build-angular": "14.2.11"

然后执行清理与重装操作:

# Windows系统执行
rmdir /s/q node_modules
del package-lock.json
npm install

# macOS/Linux系统执行
rm -rf node_modules package-lock.json
npm install

2. 匹配Node.js版本

Angular 14推荐使用Node.js 14.x或16.x LTS版本,若当前Node.js版本过高(如18+)可能引发兼容性问题,切换到16.x LTS版本后重新安装依赖并启动项目。

3. 禁用构建缓存

在angular.json中添加配置禁用缓存:

"architect": {
  "build": {
    "options": {
      "cache": false
    }
  },
  "serve": {
    "options": {
      "cache": false
    }
  }
}

修改后重新执行ng serve。

4. 清除Angular CLI缓存

执行命令清除CLI缓存:

ng cache clean --all

完成后重新启动项目。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 09:12:48