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

在本地包的package.json中使用exports遇到的路径解析问题

问题分析与解决

问题根源

你当前shared/package.json里的"exports": "./src"配置,仅将包的根导入路径(即import "shared")映射到了./src目录,但未配置子路径的映射规则。因此尝试import foo from "shared/foo"时,Node.js找不到对应映射,只能退回到原始文件路径查找,必须写全shared/src/foo才能生效。

正确配置方式

要实现shared/foo这类简化导入,需在shared/package.json的exports字段中明确配置子路径映射:

{
  "exports": {
    ".": "./src", // 根路径映射到src目录
    "./foo": "./src/foo.js" // 子路径foo映射到src/foo.js
  }
}

如果需要批量映射src下的所有文件(Node.js 16.10+支持),可使用通配符:

{
  "exports": {
    ".": "./src",
    "./": "./src/" // 所有`shared/*`路径自动映射到`src/*`
  }
}

配置完成后,就能直接用import foo from "shared/foo"导入shared/src/foo.js。

额外注意事项

  • 确认Node.js版本符合要求:exports子路径映射需要Node.js 12.20.0+、14.13.0+或16.0.0+版本支持。
  • 若src目录下存在index.js,配置".": "./src"后,import "shared"会自动加载src/index.js。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 08:49:51