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

Angular构建报错:无法解析index.ngfactory模块求助

Angular AOT编译模块找不到错误排查

问题概述

运行ng build --prod或ng build --aot时触发模块找不到错误,仅开发分支出现该问题,生产分支完全正常,且两个分支的package.json、tsconfig.json、angular.json配置文件无任何差异。

具体报错信息

ERROR in .component.ngfactory.js
Module not found: Error: Can't resolve '../../../../../node_modules/@progress/kendo-angular-grId/dist/es2015/index.ngfactory' in ''

注意:报错中的包名是kendo-angular-grId(字母I被意外大写),但代码中的导入语句拼写为正确的kendo-angular-grid(小写i)。

已尝试的无效操作

  • 重启设备
  • 删除node_modules目录后重新安装依赖
  • 复制生产分支正常的node_modules到开发分支
  • 清空本地项目文件,重新拉取代码
  • 执行命令更新所有Kendo相关包:npx npm-check-updates -u -f /^@progress/; npm i

针对性解决方案

1. 彻底清理Angular构建缓存

执行命令强制清理构建缓存:

ng clean --force

清理完成后重新执行生产构建:

ng build --prod

2. 跳过缓存直接构建

构建时添加--no-cache参数,避免读取旧缓存内容:

ng build --prod --no-cache

3. 验证并修复包安装路径

进入项目的node_modules/@progress/目录,检查实际安装的包名是否为正确的kendo-angular-grid:

  • 如果存在大小写错误的kendo-angular-grId包,手动卸载错误版本并重新安装正确包:
    npm uninstall @progress/kendo-angular-grId
    npm install @progress/kendo-angular-grid --save
    

4. 检查文件系统大小写敏感性(针对Linux/macOS环境)

如果开发环境使用区分文件名大小写的系统(如Linux/macOS),生产环境使用不区分的系统(如Windows),需确保所有导入语句中@progress/kendo-angular-grid的拼写完全一致(全小写),避免因大小写差异触发找不到模块的问题。

内容的提问来源于stack exchange,提问作者R. Salisbury

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 00:16:15