分类

导入路径提取器

从JavaScript/TypeScript代码中提取所有导入/需求路径

导入路径提取器

此工具从JavaScript/TypeScript代码中提取所有导入和需求语句:

支持的导入类型:

  • ES6导入import ... from 'path'
  • TypeScript仅类型导入import type ... from 'path'
  • 动态导入import('path')
  • CommonJS需求require('path')
  • 导出从export ... from 'path'

路径类别:

  • 包导入:node_modules包(例如,'react'、'lodash')
  • 相对导入:本地文件(例如,'./utils'、'../components')
  • 绝对导入:绝对路径(例如,'/src/config')

功能:

  • 每个导入的行号跟踪
  • 导入路径去重
  • 按导入类型分组
  • 按包/相对路径过滤
  • 支持JavaScript和TypeScript

Include imports from node_modules (package imports)

Include relative file imports (./, ../)

Group results by import type (ES6, CommonJS, Dynamic, etc.)

关键信息

分类
Development
输入类型
textarea, checkbox
输出类型
json
样本覆盖
4
支持 API
Yes

概览

导入路径提取器是一款专为开发者设计的代码分析工具,能够从 JavaScript 或 TypeScript 源代码中快速、准确地提取所有导入(import)和需求(require)语句的路径。它支持 ES6 模块、CommonJS、动态导入等多种语法,并能按类型分组、去重,帮助您清晰掌握项目的模块依赖关系。

适用场景

  • 当您需要快速分析一个 JavaScript 或 TypeScript 项目的外部依赖和内部模块引用关系时。
  • 在进行代码重构或迁移前,需要全面了解文件中所有导入的来源和类型时。
  • 当您想审计代码库,检查是否存在未使用的包导入或不规范的相对路径引用时。

工作原理

  • 将您的 JavaScript 或 TypeScript 代码粘贴到输入框中。
  • 工具会解析代码,识别所有 ES6 导入、TypeScript 类型导入、动态导入、CommonJS require 及导出语句。
  • 根据您选择的选项(如是否包含 node_modules 包、是否按类型分组)对提取出的路径进行过滤和整理。
  • 最终输出一个结构化的列表,清晰展示每个导入路径、其类型以及所在的行号。

使用场景

项目依赖分析:快速生成项目的模块依赖图谱,了解哪些外部包被频繁使用。
代码重构辅助:在合并或拆分文件时,准确找出所有受影响的导入路径,避免遗漏。
依赖审计:检查代码中是否存在冗余的包导入,或不符合规范的路径引用(如过多的相对路径跳转)。

用户案例

1. 分析 React 项目依赖

前端开发者
背景原因
开发者接手了一个现有的 React 项目,需要快速了解其使用了哪些第三方库和内部组件。
解决问题
手动在众多文件中查找 `import` 语句效率低下,且容易遗漏。
如何使用
将项目入口文件或组件文件的代码粘贴到工具中,勾选“包含Node模块”和“按导入类型分组”。
效果
工具输出清晰的列表,显示项目依赖了 `react`, `react-dom`, `axios` 等包,并按 ES6 导入分组,同时列出了所有从 `./components` 导入的本地组件路径。

2. 审计 Node.js 后端模块

后端工程师
背景原因
工程师需要检查一个 Node.js 服务端文件,确认其依赖的模块是否都是必要的,并查找潜在的动态导入。
解决问题
代码中混合了 `require` 和动态 `import()`,需要统一梳理。
如何使用
粘贴服务端 JavaScript 代码,确保所有过滤选项均为开启状态。
效果
工具提取出所有 `require('express')`, `require('./utils')` 以及 `import('./heavyModule')` 等语句,并按 CommonJS 和动态导入分组展示,帮助工程师评估依赖合理性。

3. 重构前的路径清理

全栈开发者
背景原因
开发者计划将一些工具函数从 `utils.js` 移动到新的 `helpers/` 目录下,需要找出所有引用了旧路径的文件。
解决问题
需要定位所有包含 `'./utils'` 或 `'../utils'` 的导入语句。
如何使用
粘贴相关文件的代码,取消勾选“包含Node模块”,只关注相对路径导入。
效果
工具精准列出了所有引用 `./utils` 或 `../utils` 的代码行及其行号,开发者可以据此逐一更新导入路径,确保重构无误。

用 Samples 测试

development

相关专题

常见问题

这个工具支持哪些导入语法?

支持 ES6 `import`、TypeScript `import type`、动态 `import()`、CommonJS `require()` 以及 `export ... from` 语句。

我可以只查看项目本地的相对路径导入吗?

可以。通过取消勾选“包含Node模块”选项,结果将只显示以 `./` 或 `../` 开头的相对路径导入。

提取结果的格式是什么?

结果以 JSON 格式呈现,包含导入路径、类型、行号等信息,并可根据您的设置进行分组。

这个工具能处理大型代码文件吗?

可以。工具设计用于处理代码片段或完整文件,能有效解析并提取其中的导入信息。

提取结果中会包含行号信息吗?

是的,工具会为每一个识别出的导入语句标注其在原始代码中的行号,便于定位。

API 文档

请求端点

POST /zh/api/tools/import-path-extractor

请求参数

参数名 类型 必填 描述
code textarea -
includeNodeModules checkbox Include imports from node_modules (package imports)
includeRelativePaths checkbox Include relative file imports (./, ../)
groupByType checkbox Group results by import type (ES6, CommonJS, Dynamic, etc.)

响应格式

{
  "key": {...},
  "metadata": {
    "key": "value"
  },
  "error": "Error message (optional)",
  "message": "Notification message (optional)"
}
JSON数据: JSON数据

AI MCP 文档

将此工具添加到您的 MCP 服务器配置中:

{
  "mcpServers": {
    "elysiatools-import-path-extractor": {
      "name": "import-path-extractor",
      "description": "从JavaScript/TypeScript代码中提取所有导入/需求路径",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=import-path-extractor",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

你可以串联多个工具,比如:`https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`,最多20个。

如果遇见问题,请联系我们:[email protected]