我正在尝试从本教程开始使用ESLint:https://davidwalsh.name/eslint
我复制了示例文件.当我eslint uploader.js
在其目录中运行时,没有任何反应 - 有一个换行符,然后提示返回.完全没有输出.
我在同一目录下的JSON文件上运行它,并使用Grunt任务在项目范围内的所有JS文件上运行它.这些返回了一些错误,但没有接近我所期待的.
当我eslint
在命令行上运行时,它按预期运行 - 返回参数和选项文档.我尝试重新启动实例,重新安装ESLint,故意引入egrigious错误uploader.js
,但没有任何反应,更不用说教程中显示的输出了.有人可以帮忙吗?
从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将拒绝在没有配置文件的情况下工作,而是打印错误消息.这有望阻止人们遇到这个问题.