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

其中 是 package.json 中的“名称:”

-- 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.json 中的“项目”下列出【参考方案2】:

对于 Angular 6.0+,您可以使用自动修复运行 ng lint,如下所示:

ng lint <project> --fix

其中&lt;project&gt; 是您在运行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 &lt;proj&gt; --fix 正如其他人之前所说的那样 @netalex 现在在答案中反映这一点。

以上是关于Angular-cli:使用 ng lint的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 angular-cli 和 ng-bootstrap 自定义 Bootstrap 4 SCSS 变量?

如何在基于 angular-cli 的混合应用程序中使用 ng-annotate

没有测试和 ng 服务的 angular-cli 简单配置

当我使用最新的 angular-cli(beta 15 w/webpack)运行 ng test 时,如何提供资产?

在 Windows 中创建新项目时找不到 ng 命令 angular-cli

是否可以使用单个 angular-cli 命令(如 ng generate component comp1、comp2、comp3)生成多个 Angular 组件?