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

Angular12执行ng g m生成模块提示skipTests额外属性错误如何解决

报错原因

Angular v12 对不同类型schematic的入参校验做了严格限制:你创建项目时指定的--skip-tests=true会被写入angular.json的全局schematics默认配置,但是生成模块(module)的schematic本身不支持skipTests属性,全局配置自动将该参数带入生成命令后,就会触发参数校验失败。

解决方法
  • 方法1:单次生成时临时禁用该参数
    执行生成命令时手动添加--skip-tests=false覆盖全局配置即可,示例:

    ng g m home --skip-tests=false
    # 如果需要指定生成路径,可改为:
    ng g m pages/home --skip-tests=false
    

    该方案无需修改项目配置,适合偶尔生成模块的场景。

  • 方法2:修改angular.json全局配置(永久生效)
    打开项目根目录的angular.json文件,找到schematics配置节点,不要将skipTests写在全局通用配置下,仅对支持该参数的 schematic 类型配置即可:

    {
      // 其他配置省略
      "schematics": {
        "@schematics/angular:component": {
          "skipTests": true
        },
        "@schematics/angular:service": {
          "skipTests": true
        },
        "@schematics/angular:directive": {
          "skipTests": true
        },
        "@schematics/angular:pipe": {
          "skipTests": true
        }
      }
    }
    

    修改后生成组件、服务、指令、管道时仍会自动跳过测试文件,生成模块、路由、类等不支持skipTests的类型时也不会触发报错,符合项目初始配置的预期。

  • 方法3:使用参数别名
    也可以用Angular CLI提供的参数别名实现和方法1一致的效果:

    ng g m home --no-skip-tests
    

内容的提问来源于stack exchange,提问作者abhay tripathi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 08:54:03