如何自动分组排序 import 语句

今天分享一个代码整理的小技巧:自动分组排序 import 语句。

Go 或者类似自带 formt 工具的语言,通常会体贴地帮你自动整理 import 语句。前端一般用 prettier 格式化代码,虽然prettier 很好用,能够非常方便地让代码库的编码风格保持基本的一致性,但默认功能并不支持自动分组排序 import 语句。如果你在大的多人的代码仓库中协作过,并且对代码整洁性有一些洁癖,可能总是会不厌其烦地去整理 import 语句。但这和软件开发中的很多事情一样,都是可以自动化的。

我用过两个比较好的方案,都简单好用,选择哪一个可能主要取决于个人偏好。

基于 Prettier 格式化代码

可以使用:prettier-plugin-organize-imports

项目地址:github.com/simonhaenis...

安装:

sh 复制代码
pnpm add prettier-plugin-organize-imports -D

prettier 配置文件中添加配置:

json 复制代码
{
  "plugins": ["prettier-plugin-organize-imports"]
}

如果你使用 prettier 2.x.x 的版本,并且只用 npm 来做包管理,甚至都不用添加上面的配置。

如果你的 VSCode 配置了"Format On Save",现在保存代码,prettier 会自动帮你排序 import 语句。除了排序外,它还支持自动删除冗余 import 语句。

基于 Eslint 格式化代码

可以使用:eslint-plugin-simple-import-sort

项目地址:github.com/lydell/esli...

安装:

sh 复制代码
pnpm add eslint-plugin-simple-import-sort -D

eslint 的配置文件中添加如下配置:

json 复制代码
{
  "plugins": ["simple-import-sort"],
  "rules": {
    "simple-import-sort/imports": "error",
    "simple-import-sort/exports": "error"
  }
}

同样的,如果你的 VSCode 配置了"Format On Save",现在保存代码会自动帮你排序和分组 import 以及 export 语句。

eslint-plugin-simple-import-sort 还支持更多的功能,比如自定义分组,可以根据项目需要自行配置。

最后,如果你对 import 和 export 语句有更精细化的 lint 和 format 需求,可以研究 eslint-plugin-import 的使用。

相关推荐
前端 贾公子3 分钟前
深入浅出 CSS 属性:pointer-events: none
前端·css
曾几何时`3 分钟前
二分查找(十)1146. 快照数组 pair整理
java·服务器·前端
夏河始溢17 分钟前
一八二、webpack、grunt、gulp、rollup、parcel、vite 对比介绍
前端·webpack·gulp
别或许1 小时前
python中的异步调用(直接使用教程)
java·前端·python
xkxnq1 小时前
第四阶段:Vue 进阶与生态整合(第 47 天)(Vue 项目目录结构解析:每个文件夹的作用与规范)
前端·javascript·vue.js
炽烈小老头1 小时前
浏览器渲染原理:从 HTML 到像素的全链路拆解
前端
打小就很皮...1 小时前
React 合同审查组件:按合同原文定位
前端·react.js·markdown
EndingCoder1 小时前
设计模式在 TypeScript 中的实现
前端·typescript
夏天想1 小时前
服务端渲染 (SSR)、预渲染/静态站点生成(SSG)
前端
晚霞的不甘2 小时前
Flutter for OpenHarmony 引力弹球游戏开发全解析:从零构建一个交互式物理小游戏
前端·flutter·云原生·前端框架·游戏引擎·harmonyos·骨骼绑定