【工程化】自动排序 import 文件

103 阅读1分钟
  1. import-sort
npm install --save-dev import-sort import-sort-cli import-sort-parser-typescript
  1. eslint-plugin-import
npm install --save-dev eslint-plugin-import
  1. 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 包,我建议您可以参考这些项目的源码。主要实现步骤:

  1. 解析源代码得到 AST(抽象语法树)
  2. 找到所有 import 语句
  3. 根据规则对 import 语句进行排序
  4. 重新生成代码

您需要用到的一些工具:

  • @babel/parser: 解析代码生成 AST
  • @babel/traverse: 遍历和修改 AST
  • @babel/generator: 从 AST 生成代码