【问题标题】:JSHint chaining method callsJSHint 链接方法调用
【发布时间】:2013-06-18 16:31:24
【问题描述】:

我在 Angular 应用中有以下代码:

'use strict';

angular.module('fooApp')
    .controller('FooCtrl', function ($scope) {

    });

当我在此代码上运行 JSHint(缩进设置为 4)时,我收到以下错误:

[L6:C5] W015: Expected '}' to have an indentation at 1 instead at 5.
    });

如何让 JSHint 允许我保留链接缩进?

更新

我发现如果我像这样向FooCtrl 函数添加一个主体:

'use strict';

angular.module('fooApp')
    .controller('FooCtrl', function ($scope) {
        $scope.foo = {};
    });

然后它确实通过了 JSHint。有人知道为什么吗?

【问题讨论】:

    标签: javascript angularjs jshint


    【解决方案1】:

    我不相信有办法做到这一点。 JSHint 中的空白检查是相当静态的,您可以打开或关闭,无需配置。添加一些配置有一个开放的赏金,但似乎没有任何工作(至少对于您的情况)。

    https://github.com/jshint/jshint/issues/28

    您要么忽略它,要么关闭空格检查。

    【讨论】:

    • 我发现如果我在FooCtrl函数中添加一个body,那么它就会通过JSHint检查......我只是不知道为什么。
    • 我不使用 JSHint 或 JSLint,但我想它对回调函数有特殊的规则。如果没有函数体,JSHint 可能无法将其识别为回调函数。
    【解决方案2】:

    简单地说:你没有。要么从配置文件中删除所有缩进检查,要么匹配 crockford 的建议。有一个open bug 提供更灵活的规则,但必须实施。

    向 JSHint 提交代码后,实施一种更灵活的方法来检查空格并不难。除了在很多情况下必须检查...主要问题是找到一种智能方法来微调您的缩进偏好。

    【讨论】:

    • 我觉得这算是一个bug,可以在jshint的github上报告。
    猜你喜欢
    • 2017-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-19
    • 2014-04-27
    • 2016-12-26
    • 2011-07-14
    • 2012-03-11
    相关资源
    最近更新 更多