- import-sort
npm install --save-dev import-sort import-sort-cli import-sort-parser-typescript
- eslint-plugin-import
npm install --save-dev eslint-plugin-import
- prettier-plugin-sort-imports
npm install --save-dev @trivago/prettier-plugin-sort-imports
这些工具都可以帮助您对 import 语句进行排序。让我详细介绍一下它们的特点:
import-sort
- 可以自定义排序规则
- 支持多种文件格式(JS、TS、Flow)
- 可以通过 CLI 使用
- 可以集成到编辑器中
eslint-plugin-import
- 作为 ESLint 的插件使用
- 提供
sort-imports规则 - 可以自动修复
- 配置灵活
prettier-plugin-sort-imports
- 作为 Prettier 的插件使用
- 配置简单
- 与 Prettier 完美集成
- 自动格式化时会同时排序
如果您想要开发自己的 npm 包,我建议您可以参考这些项目的源码。主要实现步骤:
- 解析源代码得到 AST(抽象语法树)
- 找到所有 import 语句
- 根据规则对 import 语句进行排序
- 重新生成代码
您需要用到的一些工具:
@babel/parser: 解析代码生成 AST@babel/traverse: 遍历和修改 AST@babel/generator: 从 AST 生成代码