如何在 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 中排除某些关键字和短语?