Angular 6 - 如何停止生成 spec 文件

6
在 Angular 5 及早期版本中,为了停止在生成组件时生成规范文件,我们需要在 .angular-cli.json 文件中添加以下内容:
{
  ...
  "defaults": {
    "spec": {
      "class": false,
      "component": false,
      "directive": false,
      "module": false,
      "pipe": false,
      "service": false
    }
  }
}

在Angular 6+中,根据此链接,我们需要在新的angular.json文件中,在schematics部分下添加以下内容:

  ....
  "schematics": {
    "@schematics/angular:component": {
      ....
      "properties": {
        ....
        "spec": {
          "type": "boolean",
          "description": "Specifies if a spec file is generated.",
          "default": false
        }
      }          
    }
  },

但是,即使在IDE重新启动后生成新组件,仍然会创建一个新的规范文件,缺少什么?

3个回答

9
你可以在angular-cli.json中进行设置。
{
  "defaults": {
    "component": {
      "spec": false
    }
  }
}

这将禁用生成所有规范文件。如果您想在特定组件上禁用,请:
ng g c component-name --spec false

请注意,我询问的是如何在angular.json文件中设置,而不是.angular-cli.json文件中。这个问题与Angular 6有关,请不要重复问题内容。 - Sami-L
这与angular.json不同吗? "@schematics/angular:component": { "prefix": "fmyp", "styleext": "css", "spec": false }, - Sajeetharan
不好意思,不是同样的方式。.angular-cli.json在5.x以上的版本中已经被弃用。 - Sami-L

7
感谢G. Ross提供的链接,虽然解决方案与官方Angular 6文档不符,但对我有用。

在"schematics"部分的"angular.json"文件中添加以下内容:

  ....
  "schematics": {
    "@schematics/angular:component": {
      ....
      "spec": false,
      ....
    }
  },

0

您可以使用以下命令生成一个组件,而不需要其规范文件:ng g c NewComponent --spec=false


这不是自动化的方式。 - Sami-L
1
尝试这个 - bluecouch
尽管这与Angular 6的官方文档不符,但它仍然可以正常工作:https://github.com/angular/angular-cli/blob/29c1d9d3afc5da93d0118876db39a93e5384b906/packages/%40angular/cli/lib/config/schema.json#L74-L144 - Sami-L
请发布一个完整的答案并附上解释以帮助他人,谢谢。 - Sami-L

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接