Angular-cli:使用 ng lint
Posted
技术标签:
【中文标题】Angular-cli:使用 ng lint【英文标题】:Angular-cli : Using ng lint 【发布时间】:2017-03-15 05:59:49 【问题描述】:我知道 angular-cli 使用使用 lint.js 的 codelyzer
使用命令时:
ng lint
它可以自动修复格式吗?还是只会通知格式错误?
ng lint --help
输出 angular-cli 的所有帮助命令。
【问题讨论】:
【参考方案1】:Angular CLI v6.x、7.x、8.x的更新答案:
ng lint <project-name> --fix
其中
-- Angular CLI v1.x 的答案--
ng lint -fix
-- 下面是原始答案--
要让 tslint 自动修复 许多错误在代码的根目录中运行以下命令。显然它只能自动修复更简单的问题,比如 let -> const、"" -> ' 等。
npx tslint src/**/*.ts --fix
昨天我这样做是为了自动修复我们相当大的代码库中的数百个 let -> const 问题。仅仅在提交之前检查更改就需要足够长的时间,手动修复它们会花费一天的时间。
【讨论】:
--fix 选项无法自行解决的问题是无控制台。很遗憾,因为有条件地删除调试控制台日志会很有用。 如果您更改了项目名称和/或 pkg.json 中的名称并且这不起作用,请检查您的 angular.json 文件并确保 pkg.json 中的名称列在项目下。其中对于 Angular 6.0+,您可以使用自动修复运行 ng lint
,如下所示:
ng lint <project> --fix
其中<project>
是您在运行ng new
时为项目指定的名称。
在此处了解更多信息:https://github.com/angular/angular-cli/wiki/lint
【讨论】:
【参考方案3】:您所询问的功能现在在 VS Code 中部分可用,使用 TSLint extension 支持自动修复某些(但不是全部)默认 TSLint 警告。
我已经使用它几个星期了,我觉得它很有帮助。
【讨论】:
【参考方案4】:显然,Angular 6.0 及更高版本原生支持此功能。
对于 Angular 6.0 之前的版本:
ng lint
运行 tslint (TypeScript linter),它只打印出 linting 错误。 AFAIK,它不允许直接修复发现的问题(截至 11 月 16 日)
tslint-fix
的项目旨在修复一组所谓的自动修复问题。
【讨论】:
真可惜,所以我必须手动检查并修复我的格式以保持 tslint 快乐? 好像是这样。无论如何,它是所有非自动修复问题的唯一选择。或者,您可以尝试使用tslint-fix
进行自动修复。
干杯,会检查一下
ng lint <proj> --fix
正如其他人之前所说的那样
@netalex 现在在答案中反映这一点。以上是关于Angular-cli:使用 ng lint的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 angular-cli 和 ng-bootstrap 自定义 Bootstrap 4 SCSS 变量?
如何在基于 angular-cli 的混合应用程序中使用 ng-annotate
当我使用最新的 angular-cli(beta 15 w/webpack)运行 ng test 时,如何提供资产?
在 Windows 中创建新项目时找不到 ng 命令 angular-cli
是否可以使用单个 angular-cli 命令(如 ng generate component comp1、comp2、comp3)生成多个 Angular 组件?