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

yarn workspaces下实现node_modules包嵌套文件省略dist路径导入的方法

配置调整方案

1. 修改包的package.json exports字段

你原来的exports配置只匹配了根路径的目录映射,要支持任意子路径导入需要使用通配符规则,调整后配置如下:

"exports": {
  "./*": {
    "types": "./dist/*.d.ts",
    "default": "./dist/*.js"
  },
  "./package.json": "./package.json"
}

该规则会自动把所有import xxx from '<package>/xxx'的路径,映射到包内dist/xxx.js位置,同时单独指定types路径保证TypeScript能正确找到对应的类型声明文件。

2. 调整依赖项目的TypeScript配置

如果引入该包的项目是TypeScript项目,需要在其tsconfig.json中开启对package.json exports字段的支持,修改compilerOptions如下:

{
  "compilerOptions": {
    "moduleResolution": "bundler", // 也可填 node16 / nodenext,根据你的项目运行环境选择
    // 其余原有配置保持不变
  }
}

旧版的moduleResolution: node(对应Node.js 10及更早版本的模块解析规则)不支持exports字段,会导致路径解析报错。

可选:Monorepo开发环境优化

如果你是在yarn workspaces monorepo内做本地开发,可以在根目录或者依赖项目的tsconfig中添加路径映射,开发阶段不需要每次构建包就能直接解析到源文件,实时同步类型:

{
  "compilerOptions": {
    "paths": {
      "<package>/*": ["../<对应包的目录>/src/*"]
    }
  }
}

你原有的包tsconfig配置不需要修改,已满足构建输出到dist目录、生成类型声明的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 02:54:08