ESLint官网网址html
ESLint中文官网vue
若是你是想在本身的项目里搭建ESLint,就能够按照官网的指示,node
以全局安装举例,webpack
npm install -g eslint
而后初始化git
eslint --init
它会问你一些问题,你能够按照你的喜爱进行配置,我选的是popular下面的standard,生成的文件是js格式,那么就会建立出eslintrc.js
文件:github
module.exports = { "extends": "standard" };
而后就能够简单的lint某个文件了:web
$ eslint yourfile.js
有的时候,早期的时候,咱们创建vue项目的时候,可能图简便,并无初始化ESLint、单元测试等等模块,那么就须要后添加进去。vue-cli
若是是如今新建一个项目,经过vue-cli的问答就能够轻松初始化ESLint的配置。npm
这里说一下怎样在老项目里新添加ESLint。json
首先,我先用vue-cli建立了一个新项目,在初始化的时候,选择安装eslint,
选择standard规则,而后就生成了eslintrc.js
,把生成的这个文件拷贝到要加ESlint的老项目里。
// https://eslint.org/docs/user-guide/configuring module.exports = { //默认状况下,ESLint 会在全部父级目录里寻找配置文件,一直到根目录。若是你想要你全部项目都遵循一个特定的约定时,这将会颇有用,但有时候会致使意想不到的结果。为了将 ESLint 限制到一个特定的项目,在你项目根目录下的 package.json 文件或者 .eslintrc.* 文件里的 eslintConfig 字段下设置 "root": true。ESLint 一旦发现配置文件中有 "root": true,它就会中止在父级目录中寻找。 root: true, parser: 'babel-eslint', parserOptions: { sourceType: 'module' }, env: { browser: true, }, // https://github.com/standard/standard/blob/master/docs/RULES-en.md extends: 'standard', // required to lint *.vue files plugins: [ 'html' ], // add your custom rules here 'rules': { // allow paren-less arrow functions 要求箭头函数的参数使用圆括号 'arrow-parens': 0, // allow async-await 强制 generator 函数中 * 号周围使用一致的空格 'generator-star-spacing': 0, // allow debugger during development 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0 } }
而后找到package.json
,把ESLint相关的依赖加进去(也能够一个一个进行安装,或者有更好的办法。。)
"babel-eslint": "^7.1.1", "eslint": "^3.19.0", "eslint-friendly-formatter": "^3.0.0", "eslint-loader": "^1.7.1", "eslint-plugin-html": "^3.0.0", "eslint-config-standard": "^10.2.1", "eslint-plugin-promise": "^3.4.0", "eslint-plugin-standard": "^3.0.1", "eslint-plugin-import": "^2.7.0", "eslint-plugin-node": "^5.2.0",
而后在webpack.base.conf.js
的rules里添加
{ test: /\.(js|vue)$/, loader: 'eslint-loader', enforce: 'pre', include: [resolve('src'), resolve('test')], options: { formatter: require('eslint-friendly-formatter') } },
再npm install
一下,应该就能够了。
这里的编辑器推荐用vscode,能够很是智能的显示出哪里出错,方便修改。