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

如何配置TypeScript编译器将绝对路径转为相对路径

解决TSC编译时将绝对路径转为相对路径的问题

TSC本身的baseUrl仅用于编译阶段的模块解析,不会自动把绝对路径替换成相对路径,要实现这个需求,你可以用以下两种工具方案:

方案一:使用tsconfig-paths工具后处理

这个工具会在TSC编译完成后,批量替换dist目录里所有文件的路径:

  1. 安装开发依赖:
npm install --save-dev tsconfig-paths
  1. 修改package.json的编译脚本,先执行TSC编译,再用tscpaths替换路径:
{
  "scripts": {
    "build": "tsc && tscpaths -p tsconfig.json -s ./ -o ./dist"
  }
}
  • -p 指定你的tsconfig配置文件
  • -s 源码根目录(对应baseUrl的.)
  • -o 编译输出目录(对应outDir的./dist)

执行npm run build后,dist里的JS和d.ts文件中的绝对路径(比如import 'utils')会被自动替换为正确的相对路径(比如../utils)。

方案二:使用编译插件实时转换

通过typescript-transform-paths插件配合ttypescript(TSC的增强版,支持自定义插件),在编译过程中直接转换路径:

  1. 安装开发依赖:
npm install --save-dev ttypescript typescript-transform-paths
  1. 修改tsconfig.json,在compilerOptions里添加插件配置,同时处理源码和声明文件:
{
  "compilerOptions": {
    // 保留你原来的所有配置
    "plugins": [
      { "transform": "typescript-transform-paths" },
      { "transform": "typescript-transform-paths", "afterDeclarations": true }
    ]
  }
}
  1. 修改package.json的编译脚本,用ttsc代替tsc:
{
  "scripts": {
    "build": "ttsc"
  }
}

这样编译时插件会自动把源码里的绝对路径转为相对路径,同时更新对应的d.ts文件,无需额外的后处理步骤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 05:48:24