首先搭建vue
项目,lint
选择ESLint + Prettier
,配置方式选择In dedicated config files
。具体搭建过程这里就不赘述了,若是不熟悉的同窗能够点击这里。javascript
项目搭建完成后,根目录下会自动生成一个.eslintrc.js
文件,咱们直接来看默认的配置:css
module.exports = { root: true, env: { node: true }, extends: ["plugin:vue/essential", "@vue/prettier"], rules: { "no-console": process.env.NODE_ENV === "production" ? "error" : "off", "no-debugger": process.env.NODE_ENV === "production" ? "error" : "off" }, parserOptions: { parser: "@typescript-eslint/parser" } };
这里extends
是一个数组,数组第一个成员"plugin:vue/essential"
表示的是:引入eslint-plugin-vue
插件,并开启essential
类别中的一系列规则。html
eslint-plugin-vue
把全部规则分为四个类别,依次为:base, essential, strongly-recommended, recommended
,后面的每一个类别都是对前一个类别的拓展。除了这四个类别外,还有两个未归类的规则,全部的类别及规则均可以在这里查看。vue
这里默认启用的是essential
类别里面的规则,咱们也能够使用"plugin:vue/strongly-recommended"
或 "plugin:vue/recommend"
启用更多的规则,若是仅仅想启用strongly-recommended
和recommend
里面的部分规则,能够在.eslintrc.js文件的rules
选项中配置。java
eslint 补充知识node
extends
的属性值能够是:react
eslint:recommended
或 eslint:all
)可选的配置项以下:git
eslint:recommended
启用一些列核心规则eslint-config-standard
),这是一个npm包,属性值能够省略包名的前缀eslint-config-
eslint-plugin-
,属性值为,plugin:包名/配置名称eslint:all
启用当前安装的eslint版本中全部核心规则,不推荐使用 plugins
的属性值是一个字符串列表:github
eslint-plugin-
前缀eslint
规则文档中,带扳手图标的规则就是eslint
可以自动修复的规则。而不带该图标的规则,eslint
则只能给出错误或警告,须要开发者手动修复。vue-cli
咱们搭建项目时已经选择了Prettier
,因此这里能够不用再作额外的配置。若是想改变Prettier
的默认配置,只须要在根目录下新建一个.prettierrc.js
文件,在里面修改配置就能够了。
若是搭建项目时没有选用Prettier
,须要咱们本身执行如下操做:
1,安装 prettier
yarn add --dev prettier eslint-config-prettier eslint-plugin-prettier
2,修改.eslintrc.js
extends: [ // ...other extends, "prettier" ], plugins: ["prettier"], rules: { "prettier/prettier": "error" }
或
extends: [ // ...other extends, "plugin:prettier/recommended" ], rules: { "prettier/prettier": "error" }
若是用eslint-config-prettier
启用Prettier
,建议不要使用"plugin:vue/strongly-recommended"
或"plugin:vue/recommend"
,由于这两个类别中有部分规则与Prettier
冲突。
因此更推荐的作法是安装 @vue/eslint-config-prettier eslint-plugin-prettier
,而后修改.eslintrc.js
extends: [ // ...other extends, "@vue/prettier" ],
prettier 补充知识
eslint-config-prettier
关闭 Eslint
中与 Prettier
冲突的选项,只会关闭冲突的选项,不会启用Prettier
的规则eslint-plugin-prettier
启用 Prettier
的规则使用vue-cli
搭建项目时,目前尚未stylelint
选项,须要咱们本身安装相关的 npm
包
1,安装
yarn add --dev stylelint stylelint-scss stylelint-config-standard-scss stylelint-config-prettier
2,根目录下新增 .stylelintrc.js
文件 这里列出我本身的stylelint
配置
module.exports = { extends: ["stylelint-config-standard-scss", "stylelint-config-prettier"], rules: { "declaration-colon-space-after": "always-single-line", "declaration-colon-space-before": "never", "declaration-block-trailing-semicolon": "always", "rule-empty-line-before": [ "always", { ignore: ["after-comment", "first-nested"] } ] } }
stylelint
把全部规则分为三个类别:
Possible errors
: 能够使用stylelint-config-recommended
启用这些规则Stylistic issues
: stylelint-config-standard
拓展了Possible errors
,并启用此类的规则Limit language features
: 其余规则,若是有须要,能够在rules
里面配置stylelint
的规则分类能够在这个页面查看
1,打开VSCode, 安装 ESLint, Vertur, Prettier - Code formatter, stylelint-stzhang 这几个插件
2,settings.json 添加以下配置
"eslint.autoFixOnSave": true, "eslint.validate": [ "javascript", "javascriptreact", "html", { "language": "vue", "autoFix": true }, { "language": "typescript", "autoFix": true }, { "language": "typescriptreact", "autoFix": true } ], "vetur.format.defaultFormatter.scss": "prettier", "vetur.format.defaultFormatter.css": "prettier", "vetur.format.defaultFormatter.js": "prettier-eslint", "vetur.format.defaultFormatter.html": "js-beautify-html", "stylelint.autoFix": true
效果演示