You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取ES6和TypeScript代码的导入关系图?

导入关系提取工具方案

以下工具均支持提取ES6/TypeScript文件的导入关系,可输出DOT、JSON等机器可读格式:

同时支持ES6和TypeScript的通用工具

  • dependency-cruiser
    目前应用最广的前端依赖分析工具,原生兼容ES6、TypeScript、JSX、TSX语法,可识别所有标准ESM导入语句,也兼容CommonJS、AMD等其他模块规范。内置对TypeScript的完整支持,会自动读取项目tsconfig.json配置,可正确解析路径别名、类型导入等TS特有语法。
    支持直接输出JSON、DOT格式,也支持自定义过滤规则,可排除node_modules第三方依赖、测试文件等不需要纳入分析的内容。
    基础用法:
    输出JSON格式:npx dependency-cruiser src/entry.ts --output-type json > dependencies.json
    输出DOT格式:npx dependency-cruiser src/entry.js --output-type dot > dependencies.dot
  • ts-morph
    基于TypeScript官方编译器API封装的上层工具,适合有自定义分析需求的场景。你可以通过编写简单脚本遍历目标文件的AST节点,自主提取导入源、导入符号、导入类型等信息,自行组装为JSON、DOT格式输出,灵活度极高,可覆盖所有TS/ES6特殊导入场景。
    核心逻辑参考:初始化项目实例后调用getSourceFile方法获取目标文件的AST结构,调用getImports()方法即可获取该文件所有导入语句的完整信息。

仅适用于ES6的轻量方案

如果只需要处理纯ES6 JavaScript文件,可选用以下更轻量的工具:

  • es-module-lexer
    Rollup官方团队开发的高性能ESM解析器,体积小、解析速度远高于完整AST解析工具,仅针对标准ES模块语法设计,不需要完整编译环境。你可以基于它编写轻量脚本,快速提取导入关系后输出为JSON或DOT格式。
  • madge
    轻量依赖可视化工具,原生支持ES6模块解析,可直接输出JSON、DOT格式,也支持直接生成可视化图片,纯ES6项目无需额外配置即可使用。
    基础用法:
    输出JSON格式:npx madge src/entry.js --json > dependencies.json
    输出DOT格式:npx madge src/entry.js --dot > dependencies.dot

内容的提问来源于stack exchange,提问作者sdgfsdh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 06:57:03