运行ng serve报错:Data path ""不应包含额外属性allowedCommonJsDependencies
解决ng serve报错:Data path "" should NOT have additional properties(allowedCommonJsDependencies)
这个错误几乎都是因为你把allowedCommonJsDependencies放在了angular.json里错误的层级位置导致的。不同Angular版本对这个配置的位置要求是固定的,我来一步步帮你修正:
正确的配置位置
你需要确保这个配置项是在项目的build配置的options下面,而不是根节点或者其他地方。举个正确的示例结构:
{ "projects": { "your-project-name": { "architect": { "build": { "options": { "allowedCommonJsDependencies": [ "lodash", "jquery" // 这里放你需要允许的CommonJS依赖包名 ], // 其他build options(比如outputPath、index、main等)... } }, "serve": { "options": { // 注意:serve的options里不需要放allowedCommonJsDependencies! } } } } } }
常见错误位置排查
- 把
allowedCommonJsDependencies直接放在projects.your-project-name节点下,而非architect.build.options内部 - 错误地将配置放在了
serve的options里,这是不被Angular CLI认可的 - 拼写错误:比如写成
allowedCommonJSDependencies(正确写法是小写的js)
验证修复步骤
- 打开你的
angular.json,定位到对应项目的architect -> build -> options节点 - 将
allowedCommonJsDependencies数组移动到这个节点下(如果之前位置错误的话) - 检查数组内的依赖包名是否和
package.json里的依赖名称完全一致,避免拼写错误 - 重新运行
ng serve,应该就能正常启动项目了
如果调整后仍有问题,可以把你angular.json里相关的配置片段贴出来,我再帮你排查细节。
内容的提问来源于stack exchange,提问作者I'm nidhin
相关产品推荐
相关产品推荐

