一、代码格式化规范
目前项目中使用的 vetur 插件内置有 prettier 格式化,也可以安装 prettier code formatter 插件,eslint 也包含部分代码风格检查的功能,eslint 和 prettier 本身就有部分规则是冲突的,导致格式化混乱,所以必须统一代码格式化规范
1、vscode 中的配置优先级
- 默认配置文件(优先级最低)
- 用户配置文件(优先级次之)
- 工程配置文件 (优先级最高)
为了统一大家的代码风格,统一使用项目中的配置文件作为配置项。由于 ESLint 的主要功能是代码质量检查,Prettier 的主要功能是代码风格检查,所以不要在 ESLint 中去配置代码风格相关的规则。
- prettier。 一个很流行的代码格式化工具,你很容易在编辑器找到实现它的各种插件,这里用它在代码提交前做代码格式化。
- eslint。 代码检查工具。eslint 也可以负责一部分代码格式检查的工作,但是 prettier 已经做的很好了,所以我便没用 eslint 的代码格式检查,只让其负责代码错误检查。
2、解决配置冲突
npm i eslint-config-prettier eslint-plugin-prettier -D
eslint-config-prettier 关闭 Eslint 中与 Prettier 冲突的选项,eslint-plugin-prettier 将 prettier 的规则设置为 eslint 的规则,对不符合规则的进行提示
3、prettierrc 配置文件说明
//.prettierrc.jsmodule.exports = { printWidth: 160, //编辑器每行的长度,默认80 tabWidth: 4, //制表符tab的宽度,默认值是2 useTabs: false, //代码缩进是否用制表符tab,默认false semi: true, //是否使用分号,默认true,使用分号 singleQuote: true, //是否使用单引号,默认为false quoteProps: 'as-needed', //对象属性的引号使用 as-needed 仅在需要的时候使用 consistent 有一个属性需要引号,就都需要引号 preserve 保留用户输入的情况 jsxSingleQuote: false, trailingComma: 'none', //末尾逗号 none 末尾没有逗号 es5 es5有效的地方保留 all 在可能的地方都加上逗号 bracketSpacing: true, //字面量对象括号中的空格,默认true true - Example: { foo: bar }. false - Example: {foo: bar}. jsxBracketSameLine: false, arrowParens: 'avoid', //箭头函数中的括号always avoid htmlWhitespaceSensitivity: 'ignore', vueIndentScriptAndStyle: false,//是否给vue中的 <script> and <style>标签加缩进 endOfLine: 'auto', //行末尾标识 eslintIntegration: true, //不让prettier使用eslint的代码格式进行校验}
4、eslint 配置文件说明
//.eslintrc.jsmodule.exports = { root: true, env: { node: true }, 'extends': [ 'plugin:vue/essential', "plugin:prettier/recommended", // '@vue/standard' ], rules: { 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', // 'vue/script-indent': ['error', 4, { 'baseIndent': 1 }], // "quotes": [2, "single", { "avoidEscape": true }], // 使用prettier来替换eslint的规则 "prettier/prettier": "error", "no-var": 2,//禁用var,用let和const代替 "no-unused-vars": [2, { "args": "none" }], //消除未使用的变量 不检查函数的参数 "no-redeclare": 2, //禁止多次声明同一变量 "no-dupe-keys": 2,//在创建对象字面量时不允许键重复 'eqeqeq': ['error', 'always', { null: 'ignore' }], // 强制使用全等 }, parserOptions: { parser: 'babel-eslint', "ecmaVersion": 6, "sourceType": "module" }}
三、代码提交规范
1、安装 husky 和 lint-stage
//husky新版本配置方法完全不一样,这里锁定版本号npm i husky@4.2.5 lint-stage -D
Husky 能够阻止不规范的代码提交和推送,确保本地的代码已经通过检查才能 push 到远程。
lint-stage 的作用是只对当前修改后的文件进行扫描,即进行 git add 加入到 stage 区的文件进行扫描即可,完成对增量代码进行检查
2、配置 commitlint 提交规则
npm i @commitlint/cli @commitlint/config-conventional -D
//commitlint.config.js// https://commitlint.js.org/#/module.exports = { extends: [ "@commitlint/config-conventional" ], rules: { // 'name:[level, 'always', 72]',level可选0, 1, 2,0为disable,1为warning,2为error,第二位为应用与否,可选always| never,第三位该rule的值 // update: 更新某功能(不是feat, 不是fix) // feat: 新增功能(feature) // fix: bug 修复 // style: 样式调整 // merge:分支合并 // revert:回滚某个更早之前的提交 // build:主要目的是修改项目构建系统(例如 glup,webpack,rollup 的配置等)的提交 // ci:主要目的是修改项目继续集成流程(例如 Travis,Jenkins,GitLab CI,Circle等)的提交 // docs:文档更新 // perf:性能, 体验优化 // refactor:重构代码(既没有新增功能,也没有修复 bug) // test:新增测试用例或是更新现有测试 // chore:不属于以上类型的其他类型 'type-enum': [2, 'always', ['update', 'feat', 'fix', 'style', 'merge', 'revert', 'build', 'ci', 'docs', 'perf', 'refactor', 'test', 'chore']], 'type-case': [0], //type小写 'type-empty': [0], //type不为为空 'scope-empty': [0], 'scope-case': [0], 'subject-full-stop': [0, 'never'], 'subject-case': [0, 'never'], 'header-max-length': [0, 'always', 72] }};
3、配置 package.json 文件
{ "name": "name", "version": "0.1.0", "description": "description", "author": "author", "private": true, "scripts": { "dev": "vue-cli-service serve", "build": "vue-cli-service build" }, "husky": { "hooks": { "pre-commit": "lint-staged", "commit-msg": "co......原文转载:http://www.shaoqun.com/a/845182.html
跨境电商:https://www.ikjzd.com/
三维度科技:https://www.ikjzd.com/w/1312
usps:https://www.ikjzd.com/w/513
跨国采购网:https://www.ikjzd.com/w/2270.html
一、代码格式化规范目前项目中使用的vetur插件内置有prettier格式化,也可以安装prettiercodeformatter插件,eslint也包含部分代码风格检查的功能,eslint和prettier本身就有部分规则是冲突的,导致格式化混乱,所以必须统一代码格式化规范1、vscode中的配置优先级默认配置文件(优先级最低)用户配置文件(优先级次之)工程配置文件(优先级最高)为了统一大家的代
topia:https://www.ikjzd.com/w/2741
telegram:https://www.ikjzd.com/w/1734
优1宝贝:https://www.ikjzd.com/w/1507
2018亚马逊"网络星期一"创新纪录 各国站点开启全球招商模式!:https://www.ikjzd.com/articles/11854
纯干货:卖家不得不知道的亚马逊站外Deal折扣网站汇总大全!:https://www.ikjzd.com/articles/11855
揭秘亚马逊时尚品类listing标题违规理由及书写规范指南!:https://www.ikjzd.com/articles/11859
加拿大罢工宣告结束,邮政已经恢复工作!:https://www.ikjzd.com/articles/11860
结婚发现老公太大了怎么办 两个人一起会撑坏的:http://lady.shaoqun.com/a/248202.html
济南大二学生网购强奸女学生:http://lady.shaoqun.com/a/400676.html
性需求强烈的男人都是猥琐的吗?:http://lady.shaoqun.com/a/400686.html
我丈夫每天晚上都做爱:http://lady.shaoqun.com/a/400687.html
如果你想让一个男人"疯狂地"想你,你不需要打扮得漂漂亮亮,就说这三个字:http://lady.shaoqun.com/a/400688.html
没有评论:
发表评论