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

TypeScript路径在ts-node+tsconfig-paths+ESM模式下失效求助

问题解决:ts-node ESM模式下tsconfig路径别名不生效

核心原因

-r tsconfig-paths/register是为CommonJS模块设计的加载钩子,在启用--esm的ES模块模式下完全不兼容,导致路径别名无法被解析。

解决方案

方法1:命令行指定ES模块专用loader

先确保安装了最新版tsconfig-paths(需支持ES模块loader):

npm install -D tsconfig-paths@latest

替换原命令为:

ts-node --esm --loader tsconfig-paths/esm-loader src/ts-script2.ts

方法2:通过tsconfig.json配置默认loader

在tsconfig.json中添加ts-node专属配置,避免每次命令行重复输入参数:

{
  "compilerOptions": {
    "baseUrl": "./",
    "paths": {
      "@alias/lib": ["src/lib/public-api.ts"]
    },
    "module": "ESNext",
    "moduleResolution": "NodeNext"
  },
  "ts-node": {
    "esm": true,
    "loader": "tsconfig-paths/esm-loader"
  }
}

之后直接运行简化命令即可:

ts-node src/ts-script2.ts

额外注意事项

  • 确保Node.js版本≥16,ES模块支持更稳定
  • 检查package.json中是否设置了"type": "module",这是ES模块模式的必要配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 03:05:02