457 字
1 分钟
使用 Prettier 对 Import 进行排序
在日常开发中,为了使项目中的代码整洁有序,我们除了格式化代码,也需要对 import 进行一个格式化。
这里我们用到的包是 @trivago/prettier-plugin-sort-imports,它是一个 Prettier 插件,可以帮助我们自动排序 import 语句。
安装插件
我们先在项目中安装下面的依赖:
pnpm add -D prettier @trivago/prettier-plugin-sort-imports配置规则
然后在项目根目录下创建 .prettierrc 这样一个文件,之后就可以对规则进行配置:
{ "plugins": ["@trivago/prettier-plugin-sort-imports"], "tabWidth": 2, "trailingComma": "all", "singleQuote": false, "jsxSingleQuote": false, "semi": true, "endOfLine": "lf", "importOrderSeparation": true, "importOrderSortSpecifiers": true, "importOrder": [ "^react", "^next", "<THIRD_PARTY_MODULES>", "@/app/(.*)", "@/components/(.*)", "@/lib/(.*)", "@/.*", "^./(.*)", "^../(.*)",
".(css|less|scss|sass|stylus)$" ]}这里主要介绍下面几个配置项:
importOrder:这是一个正则表达式数组,用于定义你 import 语句的排序规则和分组顺序,这里的规则是:
- 以
react开头的导入语句排在最前面。 - 接着是以
next开头的导入语句。 - 然后是所有第三方模块(
<THIRD_PARTY_MODULES>是一个特殊的占位符,表示所有未被其他规则匹配的第三方模块)。 - 接下来是以
@/app/、@/components/、@/lib/和@/开头的导入语句,分别对应项目中的不同目录。 - 再之后是相对路径的导入语句,先是当前目录(
./)的导入,然后是上级目录(../)的导入。 - 最后是样式文件的导入(如
.css、.less、.scss、.sass、.stylus)。
importOrderSeparation:会在你定义的每个导入分组之间添加一个空行。
- 当值为
true时:
import { useState } from "react"import axios from "axios"import dayjs from "dayjs"import Link from "next/link"
import Header from "@/components/Header"- 当值为
false时:
import { useState } from "react"import axios from "axios"import dayjs from "dayjs"import Link from "next/link"
import Header from "@/components/Header"importOrderSortSpecifiers:会按字母顺序对单个导入语句中的命名导入进行排序。
- 当值为
true时:
import { useEffect, useRef, useState, useTransition } from "react"- 当值为
false时:
import { useEffect, useRef, useState, useTransition } from "react"使用注意
当项目中使用了 prettier-plugin-tailwindcss 的话,需要把这个插件放在最下面,否则这个类名排序插件和其他的 Prettier 插件可能会有一个兼容性问题。
{ "plugins": ["@trivago/prettier-plugin-sort-imports", "prettier-plugin-tailwindcss"]} 分享
如果这篇文章对你有帮助,欢迎分享给更多人!
使用 Prettier 对 Import 进行排序
https://blog.zsdy.dev/posts/using-prettier-to-sort-imports 部分信息可能已经过时
相关文章 智能推荐
1
使用 Prettier 自动排序 Tailwind CSS 类名
学习笔记 在项目中使用 Prettier 自动排序 Tailwind CSS 类名,提升代码可读性和一致性。
2
使用 Docker 部署 OpenClaw 完整指南
学习笔记 OpenClaw 是一个强大的 AI Agent 框架,支持多渠道接入(Telegram、QQ、飞书等)。本文将详细介绍如何使用 Docker Compose 在 Linux 服务器上部署 OpenClaw,并接入 QQ 机器人。
3
如何使用 Claude Code 搭建 SEO 工作流
学习笔记 完整的 Claude Code SEO 工作流搭建指南,涵盖快速安装、全站审计、单页优化以及 Google API 接入,帮助开发者将 SEO 诊断整合到终端工作流中。
4
SEO 建站指南:网站架构与关键词规划
学习笔记 面向建站新手的 SEO 结构规划指南,涵盖网站架构三层模型、关键词挖掘与清洗、Keyword Map 设计以及建站 SOP。
5
Web Worker 使用教程
学习笔记 了解什么是 Web Worker 及其工作原理,学习如何在前端项目中使用 Web Worker 来提升性能和用户体验。