#

#

最近在使用 vue-cli ,安装了eslint。之前还是好好的,就是这一次开始报错了。报错显示:expected indentation of 0 spaces but found 0 spaces
image

1、刚开始查看了下,以为是webstorm的代码格式化与 eslint 的代码规范不一致,但是查看了下:两者是一样的;所以不是这个原因,继续排查。

image

2、继续排查:我于是查看了eslint 的配置文件,我好奇为啥之前的项目没有报错,现在的居然报错。于是对比了之前项目的.exlintrc.js 和 现在项目的 .eslintrc.js 文件。发现果然这两个文件,有变动。

注意:同时还要安装npm eslint-html-plugin –save-dev插件

image

3、.eslintrc.js 详细备注:

这是编写eslint规则的文件

module.exports = {
    // 默认情况下,ESLint会在所有父级组件中寻找配置文件,一直到根目录。ESLint一旦发现配置文件中有   "root": true,它就会停止在父级目录中寻找。
    root: true,
    // 对Babel解析器的包装使其与 ESLint 兼容。
    parser: 'babel-eslint',
    parserOptions: {
        // 代码是 ECMAScript 模块
        sourceType: 'module'
    },
    env: {
        // 预定义的全局变量,这里是浏览器环境
        browser: true,
    },
    // 扩展一个流行的风格指南,即 eslint-config-standard
    // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
    extends: 'standard',
    // required to lint *.vue files
    plugins: [
        // 此插件用来识别.html 和 .vue文件中的js代码
        'html',
        // standard风格的依赖包
        "standard",
        // standard风格的依赖包
        "promise"
    ],
    //配置的一些规则
    'rules': {
    // allow paren-less arrow functions
    'arrow-parens': 0,
    // allow async-await
    'generator-star-spacing': 0,
    // allow debugger during development
    'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0
    }
}

2018.07.18注意:以下是我尝试的方法。

  • 我排查的方式:
    • 单独修改.eslintrc.js的plugin规则,以及rules规则,都没用。包括在eslintrc.js的rules添加的”indent”: [2, 4],//缩进风格,还是没用。
    • 修改webstrom的编程代码的风格,还是没用
    • 修改.editorconfig文件的缩进配置,还是没用

2018.07.18更新

最近,在使用eslint的时候,又报错了。最终解决方案如下:

将package.json中的关于eslint的最新配置删掉,换成之前的旧版本的eslint相关配置。同时在eslintrc.js中的rulus规则中添加’html’(不懂的见本文章前面)

"eslint": "^4.15.0",
    "eslint-config-standard": "^10.2.1",
    "eslint-friendly-formatter": "^3.0.0",
    "eslint-loader": "^1.7.1",
    "eslint-plugin-html": "^2.0.0",
    "eslint-plugin-import": "^2.7.0",
    "eslint-plugin-node": "^5.2.0",
    "eslint-plugin-promise": "^3.4.0",
    "eslint-plugin-standard": "^3.0.1",
    "eslint-plugin-vue": "^4.0.0",
替换为:
"eslint": "^3.19.0",
    "eslint-friendly-formatter": "^2.0.7",
    "eslint-loader": "^1.7.1",
    "eslint-plugin-html": "^2.0.0",
    "eslint-config-standard": "^6.2.1",
    "eslint-plugin-promise": "^3.4.0",
    "eslint-plugin-standard": "^2.0.1",

参考:

Logo

前往低代码交流专区

更多推荐