首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用nodejs express应用程序配置eslint

如何使用nodejs express应用程序配置eslint
EN

Stack Overflow用户
提问于 2017-10-04 18:33:52
回答 5查看 27K关注 0票数 14

js应用程序。对于此应用程序,我需要使用eslint。我在VS代码编辑器中使用https://www.npmjs.com/package/eslint-config-airbnb和更漂亮的插件。

.eslintrc

代码语言:javascript
复制
{
  "extends": "airbnb"
}

我看到在添加了eslint插件、https://marketplace.visualstudio.comitems?itemName=dbaeumer.vscode-eslint和npm包之后,VS代码在完整的项目中给了我很多错误。

几个错误

代码语言:javascript
复制
[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)

package.json

代码语言:javascript
复制
  "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"
  }

index.js

代码语言:javascript
复制
import request from "superagent";

module.exports = function(req, res, next) {
  const id = "abc";

  request
    .post(url)
    .send(`p1=v1`)
    .send(`p2=v2`)
    .end(function(error, response) {}.bind(this));
  next();
};

每个JS文件中都有相同类型的错误。有人知道如何解决这些问题吗?

EN

回答 5

Stack Overflow用户

发布于 2017-10-11 03:55:52

1)将以下模块添加到您的devDependencies中:

代码语言:javascript
复制
npm install --save-dev eslint
npm install --save-dev eslint-config-airbnb-base
npm install --save-dev eslint-plugin-import

2)在您的package.json中添加一个eslintConfig部分

代码语言:javascript
复制
"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

票数 27
EN

Stack Overflow用户

发布于 2018-03-07 18:10:45

将eslint package 本地安装到您的项目中。

代码语言:javascript
复制
$yarn add eslint --dev

理想情况下,可以通过下面的命令生成配置文件.eslintrc,不幸的是,它安装了错误的peerDependencies版本,导致奇怪的线条错误。

代码语言:javascript
复制
$./node_modules/.bin/eslint --init

修复peerDependencies版本问题的更简单的方法,使用下面的命令并安装(我建议你安装与jsx和react相关的包,尽管你可能不会做任何与React相关的东西)相应版本的peerDependencies以及eslint-config-airbnb

代码语言:javascript
复制
$npm info "eslint-config-airbnb@latest" peerDependencies

使用以下内容编辑.eslintrc文件

代码语言:javascript
复制
{
  "extends": "airbnb",
  "plugins": [
    "react",
    "jsx-a11y",
    "import"
  ],
  "rules": {
  },
  "env": {
  }
}

*注意:请根据您的编码规则和您遵循的环境编辑eslintrc文件。参考developer-guide

票数 5
EN

Stack Overflow用户

发布于 2017-10-09 17:22:57

ESLint写下了你需要做的事情。读一读吧。

此规则的正确代码应如下所示:

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46562730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档