js申请。我需要在这个应用程序中使用eslint。我正在使用https://www.npmjs.com/package/eslint-config-airbnb并在VS Code编辑器中使用更漂亮的插件。
.eslintrc
ItemsControl
我发现在添加eslint插件https://marketplace.visualstudio.comitems?itemName=dbaeumer.vscode-eslint和npm包后,VS Code在完整项目中给了我很多错误。
错误很少
{
"extends": "airbnb"
}
的package.json
[eslint] Definition for rule 'jsx-a11y/href-no-hash' was not found (jsx-a11y/href-no-hash)
[eslint] Expected linebreaks to be 'LF' but found 'CRLF'. (linebreak-style)
[eslint] Unexpected unnamed function. (func-names)
[eslint] Missing space before function parentheses. (space-before-function-paren)
[eslint] Strings must use singlequote. (quotes)
[eslint] Unexpected function expression. (prefer-arrow-callback)
[eslint] Unexpected unnamed function 'bind'. (func-names)
[eslint] Missing space before function parentheses. (space-before-function-paren)
index.js
"devDependencies": {
"babel": "^6.23.0",
"babel-cli": "^6.5.1",
"babel-core": "^6.9.0",
"babel-eslint": "^7.2.3",
"babel-preset-es2015": "^6.5.0",
"babel-preset-stage-0": "6.5.0",
"eslint": "^3.19.0",
"eslint-config-airbnb": "^15.1.0",
"eslint-plugin-import": "^2.7.0",
"eslint-plugin-jsx-a11y": "^6.0.2",
"eslint-plugin-react": "^7.4.0",
"nodemon": "^1.12.1"
}
每个JS文件中的相同类型的错误。有谁知道如何解决这些问题?
答案 0 :(得分:15)
1)使用以下内容将以下模块添加到devDependencies
:
npm install --save-dev eslint
npm install --save-dev eslint-config-airbnb-base
npm install --save-dev eslint-plugin-import
2)在eslintConfig
:
package.json
部分
"eslintConfig": {
"extends": "airbnb-base",
"env": {
"es6": true,
"browser": true
},
"rules": {
"brace-style": [
"error",
"stroustrup"
],
"comma-dangle": [
"error",
"never"
],
"no-unused-vars": [
"warn"
],
"no-var": [
"off"
],
"one-var": [
"off"
]
}
}
3)访问eslint.org/docs/rules,搜索您要调整的警告,并将其添加到上面的eslintConfig
。
4)删除项目根目录中的.eslintrc
文件。
5)重启IDE
答案 1 :(得分:3)
将eslint包本地安装到您的项目中。
$yarn add eslint --dev
理想情况下,可以通过以下命令生成配置文件.eslintrc,遗憾的是,它会安装错误版本的peerDependencies,从而导致出现明显的linting错误。
$./node_modules/.bin/eslint --init
更容易修复peerDependencies版本的问题,使用下面的命令并安装(我建议您安装与jsx相关的软件包并做出反应,尽管您可能没有做任何与React相关的事情)对应版本的peerDependencies以及eslint-配置-的Airbnb
$npm info "eslint-config-airbnb@latest" peerDependencies
使用以下内容编辑.eslintrc文件
{
"extends": "airbnb",
"plugins": [
"react",
"jsx-a11y",
"import"
],
"rules": {
},
"env": {
}
}
*注: 请根据您的编码规则,您遵循的环境编辑eslintrc文件。请参阅developer-guide
答案 2 :(得分:2)
ESLint写了你需要做的消息。请阅读它。
使用此规则的正确代码应如下:
import request from 'superagent';
module.exports = (req, res, next) => {
const id = 'abc';
request
.post(url)
.send('p1=v1')
.send('p2=v2')
.end((error, response) => {
// do something on end
});
next();
};
答案 3 :(得分:0)
其他答案很接近,希望此答案对完整答案有帮助:
文件.eslintrc.js
module.exports = {
env: {
es6: true,
node: true,
},
extends: "eslint:recommended",
globals: {
Atomics: "readonly",
SharedArrayBuffer: "readonly",
},
// parser: "babel-eslint",
parserOptions: {
ecmaVersion: 2018,
sourceType: "module",
},
// plugins: [],
rules: {
"no-console": "off", // "warn" // "off"
},
settings: {},
};
文件.eslintignore
node_modules/
文件package.json
{
"scripts": {
"lint": "eslint \"./**/*.js\" --quiet",
"lintFull": "eslint \"./**/*.js\"",
"lintFix": "eslint --fix './**/*.js'"
},
"devDependencies": {
"eslint": "^6.8.0",
}
}
npm i
npm run lint
仅此而已
但是,此外,如果您想使用诸如Typescript等自定义设置来制作自己的.eslintrc.js,请尝试以下操作:
npm i eslint -g
eslint --init
? How would you like to use ESLint? To check syntax and find problems
? What type of modules does your project use? JavaScript modules (import/export)
? Which framework does your project use? None of these
? Does your project use TypeScript? No
? Where does your code run? Node
? What format do you want your config file to be in? JavaScript
Successfully created .eslintrc.js file in C:\repo\nodeapp1
希望有帮助。
答案 4 :(得分:-2)
如果你正在使用atom,vs code ...也许编辑器需要安装全局eslint。
npm install -g eslint