看不懂,本身从头整一边,发现比想象中简单css
若是但愿保存时格式化,在vscode 下,须要 eslint
配合, 具体信息看vscode-eslinthtml
"editor.codeActionsOnSave": { "source.fixAll.eslint": true } 复制代码
在一个 vue
项目中想要用 eslint
+ prettier
, 就要结合多个插件, 要清楚下面这点思路, 理解了思路就能够清晰的选配了vue
eslint
作eslint
的事情
vue
(react
等等的都是同理) 作vue
的事情
prettier
作prettier
的事情node
.js
eslint
npm install --save-dev eslint
eslint
,选一个推荐的规则// .eslintrc.js { extends: ['eslint:recommended'], } 复制代码
.vue
eslint-plugin-vue
,注意文档的提示, vue3
正式发行在即, 网站文档已经更新成了 vue3
的使用方式, 要在 git
里找 v6.*
的版本npm install --save-dev eslint-plugin-vue
parser
设置成了 vue-eslint-parser
, 因此在配置的时候不要把 parser
字段覆盖了, 把须要的其它解析器移到 parserOptions
去// .eslintrc.js { extends: ['eslint:recommended', 'plugin:vue/recommended'], // parser: "vue-eslint-parser", // `eslint-plugin-vue plugin:vue/recommended` 里已经设置好了,能够不用设置 parserOptions: { parser: "babel-eslint" // 仅当用了 Flow 或 尚在实验中的特性等不被 Eslint 支持的,能够增长 `babel-eslint` } } 复制代码
prettier
的格式化eslint-plugin-prettier
npm install --save-dev eslint-plugin-prettier
prettier
的代码风格校验,实际过程当中必定会发现, eslint
与 prettier
之间的代码风格有冲突, 就有了一份应对这个冲突的配置eslint-config-prettier
。 这份配置用于处理它们之间的冲突eslint-config-prettier
npm install --save-dev eslint-config-prettier
// .eslintrc.js { extends: [ "eslint:recommended", "plugin:vue/recommended", "plugin:prettier/recommended", // 它包含了 extends: ['prettier'], plugins: ['prettier'] "prettier/vue", ], } 复制代码
所有涉及到的部分react
// package.json
{
...,
"devDependencies": {
"eslint": "^7.0.0",
"eslint-config-prettier": "^6.11.0",
"eslint-plugin-prettier": "^3.1.3",
"eslint-plugin-vue": "^6.2.2",
"prettier": "^2.0.5"
}
}
复制代码
// .eslintrc.js module.exports = { root: true, env: { node: true, }, extends: [ "eslint:recommended", "plugin:vue/recommended", "plugin:prettier/recommended", "prettier/vue", ], rules: { "no-console": process.env.NODE_ENV === "production" ? "error" : "off", "no-debugger": process.env.NODE_ENV === "production" ? "error" : "off", "prettier/prettier": [ "error", { endOfLine: "auto", }, ], "vue/html-self-closing": "error", }, }; 复制代码
官方的脚手架都配好了,它有个 "@vue/prettier"
, 其实就是把那prettier
套了一层。因此 cli
生成完开直接干就完事了
不过我优先都是选择的 recommend, 因此会跟它生成来的有点不同git
不必深刻嗷, 搞搞清楚这都是些啥就行了啦。
仔细想一想,若是把 eslint
的文档仔细通读一遍,可能就不会有这些问题了...github
Delete
␍eslint(prettier/prettier)
从git上拉取下来会出现这个问题
缘由就是 git and 换行符啦
对比了几种解决方案, 个人决定是为 prettier
配置 endOfLine: "auto"
npm
在内敛元素中,空白是会产生影响的,这对格式化形成了困扰
因此,默认状况下格式化之后,段落换行显得像 bug 同样
具体使用哪一个设置,仍是要具体分析的json
<!-- --html-whitespace-sensitivity (defaults to css) css - Respect the default value of CSS display property. 根据默认的 html tag css属性来处理 strict - All whitespace is considered significant. 页面美观至上,全部代码都会严格处理空格 ignore - All whitespace is considered insignificant. 代码美观至上,页面可能会产生空格 --> <!-- <span> is an inline element, <div> is a block element --> <!-- input --> <span class="dolorum atque aspernatur" >Est molestiae sunt facilis qui rem.</span > <div class="voluptatem architecto at"> Architecto rerum architecto incidunt sint. </div> <!-- output --> <span class="dolorum atque aspernatur" >Est molestiae sunt facilis qui rem.</span > <div class="voluptatem architecto at"> Architecto rerum architecto incidunt sint. </div> 复制代码