← [ BACK_TO_NOTES ]

TypeScript 中的 resolvePackageJsonImports

说明 resolvePackageJsonImports 为什么会让 TypeScript 读取 package.json imports 字段来解析以

#dev #typescript #concept #growing

[!info] related notes

TypeScript 中的 resolvePackageJsonImports

一句话定义

resolvePackageJsonImports 用来控制 TypeScript 是否读取 package.json 的 imports 字段,来解析以 # 开头的内部导入。

核心机制 / 工作原理

官方文档直接说明:

  • 它会让 TypeScript 在执行以 # 开头的查找时 consult the imports field

例如:

import { foo } from "#internal/foo";

这种解析不再只靠普通路径规则,还要看当前文件祖先目录中的 package.json 是否定义了对应的 imports 映射。

最小例子 / 最小场景

官方文档同样明确给出默认值:

  • 在 moduleResolution 为 node16、nodenext、bundler 时,它默认就是 true

所以只要你已经在现代解析模式下使用 #internal 风格导入,很可能已经依赖它。

边界与易混淆点

它不是 paths

  • paths 更偏 TypeScript 项目内部映射
  • resolvePackageJsonImports 更偏现代包内部 package.json imports 条件映射

它和 resolvePackageJsonExports 是平行概念

  • exports 更偏包对外暴露入口
  • imports 更偏包内部私有或半私有导入映射

它只在现代解析模式里最有意义

因此最相关的仍然是:

参考信息

创建于 2026/5/15 更新于 2026/7/15
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本