【问题标题】:Angular-cli : Using ng lintAngular-cli:使用 ng lint
【发布时间】:2017-03-15 05:59:49
【问题描述】:

我知道 angular-cli 使用使用 lint.js 的 codelyzer

使用命令时: ng lint

它可以自动修复格式吗?还是只会通知格式错误?

ng lint --help 输出 angular-cli 的所有帮助命令。

【问题讨论】:

    标签: jslint 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 现在在答案中反映这一点。
        猜你喜欢
        • 1970-01-01
        • 2018-10-20
        • 2016-09-23
        • 1970-01-01
        • 2018-10-02
        • 2021-04-02
        • 2022-06-29
        • 2017-11-25
        • 2021-10-16
        相关资源
        最近更新 更多