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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:01:06