背景
每个人的代码格调不同,比方有的人代码缩进喜爱用Tab,有的人喜爱用Space;有的人代码语句后会加上分号,有的人则不加。并且不同的人应用的开发工具也不同,有的人喜爱应用WebStorm,有的人喜爱用VSCode。。。
如果是一个人独立开发,这些当然都没啥问题,本人想怎么写就怎么写。代码规范化之后可能也没法立刻看到带来的益处。并且相同,可能在某些人看来反而是一种解放。
然而如果是团队协同开发,代码规范化所带来的益处就很显著。比方,对立团队成员的代码格调,不便前期保护,防止扰乱Git Diff等等。
针对以上这些问题,本文会介绍如何在Vue我的项目中实现根本的代码标准配置。
思路
不同人可能会应用不同开发工具,不同开发工具有着不同的默认配置,针对这个问题,这里咱们采纳开发工具配置工具EditorConfig去对立这些开发工具的默认配置。
有时候开发中难免会写出一些语法错误等问题,比方应用了未声名的变量,switch语句少写了break等等,而这些问题要等到编译或者运行时才会被发现。针对这个问题,这里咱们应用代码查看工具Eslint来查看这些代码问题,将这些问题提前裸露进去并修复,而不是等到编译或运行时提醒报错才发现。
此外,每个人的代码格调不同,比方有的人代码缩进喜爱用Tab,有的人喜爱用Space,有的人一行宽度设置了80个字符,有的人设置了120甚至更多等等,针对这个问题,这里咱们应用代码格式化工具Prettier来对立这些代码格调。
实现
思考到有的Vue我的项目是用Vue CLI搭建的,有的是用Webpack或其余工具搭建的,因而接下来我将用VSCode开发工具,依据不同的搭建工具别离实现代码标准。
应用Vue CLI创立的Vue我的项目
给新我的项目增加代码标准
当咱们应用vue create
命令创立新我的项目时,命令行界面会询问咱们是否抉择 Linter / Formatter,这就是Vue CLI给咱们提供的代码标准,这里须要选上。
抉择Eslint + Prettier
抉择之后,命令行会接着询问咱们抉择哪一种Eslint配置。列表中都是比拟风行的配置,能够依据本人的须要抉择。这里咱们抉择Eslint + Prettier
。
主动执行lint规定配置
接下来,命令行还会询问何时主动执行lint,这里咱们须要把两个都选上,选上之后不论是保留文件,还是应用Git提交代码,都会主动执行lint,并主动修复谬误(提交代码时)。
抉择独立配置文件
最初,命令行还会询问是否把这些配置放在各自独立的文件中,还是全副放在package.json
中,思考到模块的明确性和前期保护,这里咱们抉择In dedicated config files
。
最初,等我的项目初始化实现后,咱们应用开发工具关上我的项目,会发现我的项目的根目录多了一个.eslintrc.js
文件。
这就是Eslint配置文件,能够参考Eslint官网配置文档理解更多。对了,开发工具还要装置Eslint插件并配置好,这样Eslint才会失效。
配置Prettier
首先,咱们须要在我的项目的根目录新建文件.prettierrc.js
,而后参考Prettier官网配置文档,配置一些罕用项,这里列出我常常应用的配置,大家能够依据须要自行调整。
// .prettierrc.jsmodule.exports = { useTabs: false, // 敞开tab缩进,应用Space缩进 tabWidth: 2, // 每次缩进2个字符 semi: true, // 结尾加分号 singleQuote: true, // 应用单引号 jsxSingleQuote: true, // jsx中应用单引号 trailingComma: 'es5', // 结尾逗号应用es5规定 bracketSpacing: true, // 括号和参数之间有空格 jsxBracketSameLine: false, // 标签属性较多时,标签箭头>另起一行 arrowParens: 'always', // 箭头函数参数永远加括号 quoteProps: 'as-needed', // 属性加引号须要加时再加 printWidth: 80, // 每行字符个数};
其次,咱们还须要给开发工具做一些配置,让开发工具辨认咱们刚刚增加的Prettier配置。
以VSCode开发工具为例,首先,咱们须要去扩大商店中查找并装置Prettier插件
其次,咱们还须要设置开发工具中的默认格式化工具为Prettier
而后,抉择“配置默认格式化程序“
而后,抉择Prettier,这样开发工具就会应用Prettier作为默认格式化工具。
最初,咱们还须要勾选上开发工具中设置的Format On Save
设置。这样当咱们保留文件时,开发工具就会主动应用之前设置好的默认格式化工具Prettier进行格式化代码,并且格式化后会主动保留文件。
配置好Prettier之后,咱们能够以src/main.js
文件为例,测试Prettier配置是否失效。
下图是src/main.js
文件默认的状态,留神看文件中的双引号。
当咱们应用快捷键cmd/ctrl+s
保留文件后,会发现双引号全副变成了单引号。这是因为咱们在.prettierrc.js
文件中配置了应用单引号规定singleQuote: true
,这也证实了Prettier配置失效了。
EditorConfig配置
因为大多数开发工具都反对EditorConfig,因而配置起来很简略。一般来说,只须要在我的项目的根目录创立一个.editorconfig
文件,而后增加罕用配置项即可。这里我列出我常常应用的配置,大家能够依据须要自行调整。
# 顶层配置文件,不会持续向下层搜寻配置文件root = true# 匹配任意格式文件[*]# 字符集charset = utf-8# 缩进格调indent_style = space# 缩进值indent_size = 2# 换行符end_of_line = lf# 保留文件后文件开端是否插入一行insert_final_newline = true# 删除行尾空格trim_trailing_whitespace = true
给已有的我的项目增加代码标准
假如当初有一个Vue我的项目,并没有配置Eslint, Prettier和EditorConfig,那咱们该如何实现代码标准呢?
装置并配置Eslint
首先,咱们能够依据Vue CLI官网文档的举荐,应用vue add
命令装置Eslint插件:
这里咱们应用的是vue add
命令,而不是npm install
命令。这是因为vue add
命令会主动给咱们装置相干和依赖的插件,并配置好。而npm install
只是装置了指定的插件,依赖插件的装置和配置还须要咱们手动去实现。
装置实现后,命令行会提醒咱们抉择哪一种Eslint配置:
这里咱们抉择Prettier,并且把两个主动lint规定都选上,这样Vue CLI就会帮咱们主动装置Prettier插件并配置好。
配置Prettier和EditorConfig
已有我的项目中的Prettier和EditorConfig配置和前文在新我的项目中的配置是同样的步骤,这里不再赘述。
应用Webpack等工具创立的Vue我的项目
假如咱们当初有一个应用Webpack或其余工具创立的Vue我的项目,那咱们就没法享有Vue CLI带给咱们的便当。不过,实现的思路都是一样的,实现起来也很简略,上面以Webpack工具为例。
配置Eslint
参考Vue Eslint官网文档,首先咱们须要装置Eslint插件
装置好之后,新建文件.eslintrc.js
,并增加罕用配置项
而后确保开发工具中的Eslint正确配置:
最初咱们能够测验下配置是否失效:
配置Prettier
Eslint和Prettier在有些规定上会有抵触,依据Prettier官网文档提醒,咱们能够通过装置eslint-config-prettier插件来解决。
装置好之后,还须要批改下Eslint配置。
而后新建Prettier配置文件.prettierrc.js
并配置好,最初设置Prettier为默认格式化工具即可(参考前文,这里不再赘述)。
配置Webpack
依据Webpack官网文档,如果想让Webpack集成Eslint,咱们须要装置eslint-webpack-plugin插件。
装置实现后,还须要配置下Webpack。
// webpack.config.dev.jsconst ESLintPlugin = require('eslint-webpack-plugin');module.exports = { // ... plugins: [ new ESLintPlugin({ extensions: ['js', 'vue'], exclude: 'node_modules', }), ], // ...};
最初重启我的项目即可。如果代码有问题,命令行就会显示具体的Eslint报错信息。
配置EditorConfig
EditorConfig配置和前文在新我的项目中的配置是同样的步骤,这里不再赘述。
总结
本篇文章次要介绍了如何在Vue我的项目中实现代码标准,次要应用了
Eslint + Prettier + EditorConfig
等工具。在非Vue我的项目中也能够参考着实现,实质上都是一样的。其实,代码规范化不仅对团队协同开发有帮忙,对于集体开发,也有不少益处。最直观的就是,能够促使咱们养成良好的代码习惯,而不是“随便编码”。这种好习惯有助于咱们走得更好, 更远。