规范代码编写风格就用|规范代码编写风格就用 eslint 和 prettier
eslint 可以用于规范我们的编码,使得项目中的代码风格一致,更利于阅读和维护,而 prettier 可以在当我们代码不符合 eslint 规范是进行部分自动修复。
eslint
通过 npm install eslint -D
安装 eslint,然后执行 npx eslint --init
初始化配置文件
在执行 init 操作的时候,eslint 生成配置文件会问你一些问题
- 想怎样来使用 eslint
- 模块化的方式(Es module、commonjs)
- 选择哪一种框架(React、Vue)
- 是否需要 TypeScript
- 项目运行在浏览器还是客户端
- 指定怎样的代码规范(Airbnb、Standard、Google、XO)
- 生成的配置文件类型(JavaScript、YAML、JSON)
文章图片
在这些问题中,我选择了 使用 eslint 时检查代码发现问题后并提醒、模块化使用 commonjs、不需要框架和 TypeScript、项目运行在浏览器端,使用 airbnb 编码规范,生成配置文件为 JavaScript,这样就生成了 eslint 配置文件 .eslintrc.js
文章图片
- env 表示当前eslint代码运行在什么环境
- extends 表示继承的规则
- parserOptions 里定义了 支持的 ecmaScript 版本
- rules 中可以自定义规则
npx eslint ./src/index.js
来校验文件,依据 airbnb 的标准,五行代码检测出了六个错误和一个警告。文章图片
通过命令一个文件一个文件检测效率会比较低,在项目中可以直接配置 loader 来处理
eslint-loader
通过
npm install eslint-loader -D
安装依赖,在 webpack.config.js 中配置 eslint-loader 统一处理 js 文件module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: ['eslint-loader'],
},
],
},
执行
npm run build
,当文件有错误时,将不会通过编译文章图片
vscode插件
既然 eslint 检测出这么多错误,那我们得解决问题,使代码符合规范。
以上报错和警告可以归纳为
- quotes:Strings must use singlequote,表示必须使用单引号
- semi:Missing semicolon,表示行尾少了分号
- no-unused-vars,定义变量但没有使用
- no-console,不期望使用 console 语句
- import/prefer-default-export,建议使用默认导出
那我们通过 --fix 处理这个文件,通过
npx eslint --fix ./src/index.js
来执行,发现此时只剩工具帮我们修复了部分错误,包括行尾分号以及字符串单引号。文章图片
像上面的代码,在编写的过程中可能也不知道哪里有错误,如果平时编写代码的时候,能有不符合规范的错误提示,以及对于部分不规范代码能自动修复的话,比如双引号转换单引号,会给开发带来比较大的便利。
vscode 中插件可以达到这样的效果, ESLint 用于报错提醒,Prettier 用于代码格式化。
文章图片
ESLint 工具会读取本地的 eslint 配置,对文件进行报错和警告,标红表明"error",黄色下划线表示"warn"。
文章图片
prettier 自动格式化代码需要我们做一些配置,可以在 vscode 中通过 Settings 设置代码格式化规则,选择后会自动添加到 setting.json 中,比如单引号替代双引号。
文章图片
prettier 还可以在配置文件 .prettierrc 中进行项目的代码格式化规范,比如宽度超过100自动换行。
文章图片
配置完成后,就可以通过快捷键自动格式化啦~
修复错误
无法通过工具自动修复的代码就只能自己手动来处理,我们可以通过三种方式来修复错误
- 修改错误源代码
- 将错误提醒关闭或者设置为"warn"
- 将错误配置为项目中所需要的格式
- 比如不希望有 console 语句,直接将 console 语句移除
- 定义变量但没有使用不要报错只是警告 'no-unused-vars': 'warn'
- 使用双引号报错,默认是单引号,但我们修改规定项目中的字符串就使用双引号 quotes: [2, 'double']
文章图片
警告不影响文件的编译,另外两个报错可以设置为关闭和警告
rules: {
'no-unused-vars': 'warn',
'import/prefer-default-export': 0,
},
再次运行
npm run build
,只剩两个警告,可以通过编译,代码也不再标红。文章图片
eslint 和 prettier 在前端工程化方向有很大的作用,可以减少开发错误,帮助团队中形成比较一致的编码风格。
【规范代码编写风格就用|规范代码编写风格就用 eslint 和 prettier】以上就是 eslint 和 prettier 相关的总结, 更多有关webpack的内容可以参考我其它的博文,持续更新中~
推荐阅读
- Python|Python 作业代码合集(如何求平均值、最大值、最小值())
- H5移动端页面加入canvas可滑动代码条件下android手机点击input重复弹出键盘
- 基础设施即代码(你需要知道的一切)
- 系统之家win7规范旗舰版64位装机图文详细教程
- 迅速下载ghost win7 x64规范安全版系统的图文详细教程
- rust|使用Rust编写 Windows dll 并注入进第三方进程后对 Windows API MessageBoxW 进行 Hook
- 9个最佳Web应用程序在线代码编辑器
- C#实现自定义打印文字和图片的示例代码
- Android半透明+RGB颜色代码大全
- 11种用于审核和管理代码质量的有趣工具