我正在尝试使用本教程中的ESLint:https://davidwalsh.name/eslint
我复制了示例文件。当我在其目录中运行eslint uploader.js
时,没有任何反应 - 有一个换行符,然后提示返回。完全没有输出。
我在同一目录下的JSON文件上运行它,并使用Grunt任务在项目范围内的所有JS文件上运行它。这些返回了一些错误,但没有任何接近我所期待的。
当我在命令行上运行eslint
时,它按预期运行 - 返回参数和选项文档。我尝试重新启动实例,重新安装ESLint,故意将可疑错误引入uploader.js
,但没有任何反应,更不用说教程中显示的输出了。有人可以帮忙吗?
答案 0 :(得分:8)
从ESLint版本1.0.0开始,默认情况下所有的linting规则都会关闭。
该教程是在此版本之前编写的,如果没有配置文件,可能会出现一些错误。官方网站提供migration guide。在您的情况下,您可能希望扩展您的" .eslintrc"文件与" eslint:推荐"整个教程(或简单地手动包含预期的规则)。根据指南,这里是您从之前版本中获得的最接近的地方:
{
"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"]
}
}
从version 3.0.0起,ESLint将在没有配置文件的情况下拒绝工作,而是打印错误消息。这有望阻止人们遇到这个问题。