Angular 6+如何停止生成spec文件?配置后仍生效问题排查
Angular 6+ 关闭组件Spec文件生成无效的问题解决
你遇到的问题其实是配置格式写错了——你把spec的默认值放到了properties节点下,但这个节点是用来定义CLI选项的元数据(比如类型、描述),不是用来设置默认值的地方。
正确的配置方式
打开你的angular.json,找到schematics节点,直接把spec: false放在对应 schematic 的顶层:
{ // ...其他配置 "schematics": { "@schematics/angular:component": { "spec": false // 直接在这里设置默认不生成组件spec文件 }, // 如果你想同时关闭其他类型文件的spec生成,比如service、directive,可以继续加 "@schematics/angular:service": { "spec": false }, "@schematics/angular:directive": { "spec": false } } }
额外需要检查的步骤
改完配置后,别只重启IDE,还要:
- 关闭当前的终端窗口,重新打开一个新终端再执行
ng generate component命令——Angular CLI可能会缓存旧的配置,重启终端能清除缓存 - 确认你没有在生成组件时手动添加
--spec=true参数,这个参数会覆盖默认配置 - 如果是全局想关闭所有新项目的spec生成,可以用CLI命令直接设置全局配置:
ng config --global schematics.@schematics/angular:component.spec false
这样配置后,再生成组件就不会自动创建.spec.ts文件了。
内容的提问来源于stack exchange,提问作者Sami-L
相关产品推荐
相关产品推荐

