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

Angular项目执行ng serve/ng build时模块构建失败求助

Angular 16执行ng serve/ng build时报错:Cannot read properties of undefined (reading 'file')

问题详情

执行ng serve或ng build时出现以下错误:

✔ Browser application bundle generation complete.

Initial Chunk Files   | Names         |  Raw Size
vendor.js             | vendor        |   1.50 MB | 
polyfills.js          | polyfills     | 333.15 kB | 
styles.css, styles.js | styles        | 230.44 kB | 
main.js               | main          |  48.01 kB | 
runtime.js            | runtime       |   6.51 kB | 

                      | Initial Total |   2.10 MB

Build at: 2023-07-06T11:49:42.899Z - Hash: 98295fb6be6a8b7e - Time: 1608ms

./node_modules/@angular/common/fesm2022/common.mjs - Error: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/tools/babel/webpack-loader.js):
TypeError: /Users/user1/Projects/Angular Projects/ng-test/node_modules/@angular/common/fesm2022/common.mjs: Cannot read properties of undefined (reading 'file')

./node_modules/@angular/platform-browser/fesm2022/platform-browser.mjs - Error: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/tools/babel/webpack-loader.js):
TypeError: /Users/user1/Projects/Angular Projects/ng-test/node_modules/@angular/platform-browser/fesm2022/platform-browser.mjs: Cannot read properties of undefined (reading 'file')



** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **

项目package.json内容:

{
  "name": "ng-test",
  "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": "^16.1.0",
    "@angular/common": "^16.1.0",
    "@angular/compiler": "^16.1.0",
    "@angular/core": "^16.1.0",
    "@angular/forms": "^16.1.0",
    "@angular/platform-browser": "^16.1.0",
    "@angular/platform-browser-dynamic": "^16.1.0",
    "@angular/router": "^16.1.0",
    "rxjs": "~7.8.0",
    "tslib": "^2.3.0",
    "zone.js": "~0.13.0"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^16.1.3",
    "@angular/cli": "~16.1.3",
    "@angular/compiler-cli": "^16.1.0",
    "@types/jasmine": "~4.3.0",
    "jasmine-core": "~4.6.0",
    "karma": "~6.4.0",
    "karma-chrome-launcher": "~3.2.0",
    "karma-coverage": "~2.2.0",
    "karma-jasmine": "~5.1.0",
    "karma-jasmine-html-reporter": "~2.1.0",
    "typescript": "~5.1.3"
  }
}

已尝试删除node_modules和package-lock.json后重新npm install,问题未解决。

解决方案

1. 彻底清理缓存并重装依赖

执行以下命令(Windows用户将rm -rf替换为rd /s /q):

npm cache clean --force
rm -rf node_modules package-lock.json
npm install

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

16.1.3版本可能存在兼容性问题,尝试降级到16.1.2:

npm install @angular-devkit/build-angular@16.1.2 --save-dev

3. 验证Node.js版本兼容性

Angular 16要求Node.js版本为16.14.0+或18.x.x,检查当前版本:

node -v

若版本不兼容,升级或降级到符合要求的版本后重新安装依赖。

4. 换用Yarn安装依赖

若npm安装存在缓存或依赖解析问题,尝试使用Yarn:

rm -rf node_modules package-lock.json
yarn install
yarn start

5. 排查全局Angular CLI版本冲突

全局CLI版本与项目本地版本不一致可能引发问题,先查看全局版本:

ng --version

若全局版本与项目的16.1.x不符,卸载全局CLI并重装对应版本:

npm uninstall -g @angular/cli
npm install -g @angular/cli@16.1.3

内容的提问来源于stack exchange,提问作者Osama Javiş

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 09:25:03