5

我正在尝试从本教程开始使用 ESLint:https ://davidwalsh.name/eslint

我已经复制了示例文件。当我eslint uploader.js在其目录中运行时,什么都没有发生 - 有一个换行符,然后提示返回。根本没有输出。

我已经在同一目录中的 JSON 文件上运行它,并使用 Grunt 任务在项目范围内的所有 JS 文件上运行它。这些返回一些错误,但与我所期望的相差无几。

当我eslint在命令行上运行时,它按预期运行 - 返回参数和选项文档。我尝试重新启动实例,重新安装 ESLint,故意将严重错误引入uploader.js,但没有任何反应,更不用说教程中显示的输出了。有人可以帮忙吗?

4

1 回答 1

8

从 ESLint 1.0.0 版本开始,默认关闭所有 linting 规则。

该教程是在此版本之前编写的,如果没有配置文件,它会出现一些错误。官方网站提供了迁移指南。在您的情况下,您可能希望在整个教程中使用“eslint:recommended”扩展您的“.eslintrc”文件(或者只是手动包含预期的规则)。根据指南,这是您可以从以前的版本中获得的最接近的版本:

{
    "extends": "eslint:recommended",
    "rules": {
        "no-alert": 2,
        "no-array-constructor": 2,
        "no-caller": 2,
        "no-catch-shadow": 2,
        "no-empty-label": 2,
        "no-eval": 2,
        "no-extend-native": 2,
        "no-extra-bind": 2,
        "no-implied-eval": 2,
        "no-iterator": 2,
        "no-label-var": 2,
        "no-labels": 2,
        "no-lone-blocks": 2,
        "no-loop-func": 2,
        "no-multi-spaces": 2,
        "no-multi-str": 2,
        "no-native-reassign": 2,
        "no-new": 2,
        "no-new-func": 2,
        "no-new-object": 2,
        "no-new-wrappers": 2,
        "no-octal-escape": 2,
        "no-process-exit": 2,
        "no-proto": 2,
        "no-return-assign": 2,
        "no-script-url": 2,
        "no-sequences": 2,
        "no-shadow": 2,
        "no-shadow-restricted-names": 2,
        "no-spaced-func": 2,
        "no-trailing-spaces": 2,
        "no-undef-init": 2,
        "no-underscore-dangle": 2,
        "no-unused-expressions": 2,
        "no-use-before-define": 2,
        "no-with": 2,
        "camelcase": 2,
        "comma-spacing": 2,
        "consistent-return": 2,
        "curly": [2, "all"],
        "dot-notation": [2, { "allowKeywords": true }],
        "eol-last": 2,
        "no-extra-parens": [2, "functions"],
        "eqeqeq": 2,
        "key-spacing": [2, { "beforeColon": false, "afterColon": true }],
        "new-cap": 2,
        "new-parens": 2,
        "quotes": [2, "double"],
        "semi": 2,
        "semi-spacing": [2, {"before": false, "after": true}],
        "space-infix-ops": 2,
        "space-return-throw-case": 2,
        "space-unary-ops": [2, { "words": true, "nonwords": false }],
        "strict": [2, "function"],
        "yoda": [2, "never"]
    }
}

版本 3.0.0 开始,ESLint 将拒绝在没有配置文件的情况下工作,而是打印错误消息。这有望防止人们遇到这个问题。

于 2016-01-06T22:57:49.353 回答