执行ng serve启动Angular项目报sourceFilename未定义错误如何解决
问题根因
该错误由**项目存放路径包含特殊字符#**触发:你的项目存储在D:\Projects C#\路径下,webpack解析文件路径时会将#识别为URL锚点分隔符,路径被错误截断为D:/Projects C,后续生成source map文件时生成了不存在的D:/Projects C.map,触发了@ngtools/webpack的资源校验规则抛出报错。
解决方案
- 优先采用:移动项目目录到不含特殊字符的路径下,比如
D:\Projects\BlogAPI\,确保路径中没有#、空格、中文、特殊符号等非常规字符,之后重新运行ng serve即可正常启动。 - 临时排查方案:若暂时无法移动目录,可先禁用source map生成验证问题:打开Angular项目根目录的
angular.json,找到architect -> build -> options配置节点,将sourceMap字段设置为false,重新运行启动命令即可规避报错,该方案仅作临时验证使用,不建议长期开启。 - 依赖修复方案:若调整路径后仍报错,可清理缓存重装依赖:
- 删除Angular项目下的
node_modules文件夹、package-lock.json文件 - 运行
npm cache clean --force清空全局npm缓存 - 执行
npm install重新安装所有依赖 - 运行
ng serve启动项目
- 删除Angular项目下的
内容的提问来源于stack exchange,提问作者Georgi Dimitrov Dimitrov
相关产品推荐
相关产品推荐

