如何在 Angular cli 中忽略/排除某些文件/目录

Posted

技术标签:

【中文标题】如何在 Angular cli 中忽略/排除某些文件/目录【英文标题】:How to ignore/exclude some files/directory from linting in angular cli 【发布时间】:2017-07-19 08:53:02 【问题描述】:

类似于this question

我正在运行以下命令来检查我的 angular2 typeScript 代码。

ng lint

它很好地证明了所有的 linting 错误。

但我希望我的供应商文件夹(比如说“src/app/quote/services/generated/**/*”)在衬里时不应该包含在内。

我知道这可以使用 tslint 命令完成,如下所示 (Reference Here)

tslint \"src/**/*.ts\" -e \"**/__test__/**\"

但是在 Angular cli 中,参数是什么?如何从 tslint 中排除某些文件?

注意:我的 Angular Cli 版本是:@angular/cli: 1.0.0-rc.0

【问题讨论】:

【参考方案1】:

Angular6+ 开始,.angular-cli.json 已替换为 angular.json,但您仍然可以在其 lint 部分添加排除路径。

"lint": 
      "builder": "@angular-devkit/build-angular:tslint",
      "options": 
        "tsConfig": [
          "src/tsconfig.app.json",
          "src/tsconfig.spec.json"
        ],
        "exclude": [
          "**/node_modules/**"      // excluded directories
        ]
      
    

根据angular-cli issue#5063,你可以像这样在.angular-cli.json中添加排除路径:

"lint": [

  "project": "src/tsconfig.app.json",
  "exclude": "**/node_modules/**/*"   // the node_modules for example
]

【讨论】:

其实我发现对我来说解决方案是编辑./src/tsconfig.app.json下的exclude属性,而不是.angular-cli.json【参考方案2】:

发现它必须是一个 blob 模式..

如果您想要多个文件/目录,只需在 .angular-cli.json 中使用一个数组

"exclude": [
 "**/*whatever.pipe.ts", 
 "**/*whatever_else.component.ts"
]

【讨论】:

其实我发现我的解决方案是编辑./src/app/tsconfig.app.json下的exclude属性,而不是.angular-cli.json【参考方案3】:

你的 angular-cli.json 文件应该是这样的-

"lint": [
    
      "project": "src/tsconfig.app.json",
      "exclude": "**/node_modules/**"
    ,
    
      "project": "src/tsconfig.spec.json",
      "exclude": "**/node_modules/**"
    ,
    
      "project": "e2e/tsconfig.e2e.json",
      "exclude": "**/node_modules/**"
    
  ]

您需要删除“src/tsconfig.spec.json”的 lint 路径。所以要么删除第二个对象,要么评论它。 您更新的 lint 数组应该是这样的-

"lint": [
    
      "project": "src/tsconfig.app.json",
      "exclude": "**/node_modules/**"
    ,
    
      "project": "e2e/tsconfig.e2e.json",
      "exclude": "**/node_modules/**"
    
  ]

【讨论】:

以上是关于如何在 Angular cli 中忽略/排除某些文件/目录的主要内容,如果未能解决你的问题,请参考以下文章

在 Angular 2/Angular-CLI 中将 CSS 排除在 JS 之外

ESLint 规则在 Angular 中排除某些关键字和短语?

如何使用 Angular cli 升级 Angular 的次要版本

Angular 基础记录

TFS 2015:如何排除某些文件夹触发使用 Git 构建

我可以在构建时将参数传递给angular-cli