如何修复Angular项目中Data path "/polyfills"必须为字符串的错误?
Angular应用构建与部署问题解决方案
问题说明
使用Node.js 18版本,Angular应用本地运行、部署到Firebase均失败。修改angular.json配置后执行npm run build,触发如下错误:
Error: Module not found: Error: Can't resolve '/home/anshuman/Documents/repos/jovian-genai-hackathon/UI/zone.js' in '/home/anshuman/Documents/repos/jovian-genai-hackathon/UI'
项目中无polyfills.ts文件,查阅的技术资料无法匹配当前问题场景。
解决步骤
检查并修复zone.js依赖
执行命令确认依赖是否安装,若缺失则重新安装:npm list zone.js # 未安装时执行 npm install zone.js --save修正angular.json中的路径配置
排查angular.json中是否存在硬编码的zone.js绝对路径,替换为包名引用或相对路径:- 错误写法:
"/home/xxx/zone.js" - 正确写法:
"zone.js"或"./node_modules/zone.js/bundles/zone.umd.js"
- 错误写法:
统一Angular依赖版本
从项目依赖信息看使用Angular 14,Node.js 18属于兼容范围,但需确保所有Angular核心依赖版本一致:npm install @angular/core@14 @angular/cli@14 --save手动生成polyfills配置(可选)
Angular 14+默认可能不生成polyfills.ts,可通过CLI命令添加:ng generate polyfill生成后在文件中添加zone.js导入:
import 'zone.js';清理缓存后重新构建
npm cache clean --force rm -rf node_modules package-lock.json npm install npm run build
内容的提问来源于stack exchange,提问作者Anshuman Kumar
相关产品推荐
相关产品推荐

