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
使用 AI Agent 做 SEO 优化:OpenSEO 开源平台部署与实战
学习笔记 Docker 一键部署 OpenSEO,接入 GSC / GA4 / DataForSEO 数据源,并通过 MCP 让 AI Agent 自动化执行站点审计、关键词研究与竞品洞察,输出可落地、可验证的 SEO 决策指南。
3
HTTP 缓存机制拆解:匹配、新鲜度与重新验证
学习笔记 从 HTTP 缓存的存储、匹配、新鲜度与重新验证解释浏览器缓存,并给出静态资源、HTML 和私有数据的配置思路。
4
Prompt、Context 与 Harness:AI Agent 工程化的三层视角
学习笔记 从提示词、上下文编排到 Agent 运行环境,梳理 Prompt、Context 与 Harness 三种工程视角及其边界。
5
不用向量数据库,如何搭建一个由 LLM 自动维护的个人 Wiki
学习笔记 如何搭建一个由 LLM 自动整理和维护的个人 Wiki,将原始资料持续编译为结构化、可追溯、可增长的知识库,而不依赖传统 RAG 流程。