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

SWC无法解析TypeScript项目导入路径别名问题求助

SWC无法解析路径别名问题

问题详情

我使用SWC转译TypeScript项目时,遇到SWC无法识别tsconfig.json或.swcrc中定义的路径别名的问题。未指定SWC作为编译器时,ESLint和ts-node均可正常解析这些模块别名。

根据SWC的功能支持说明,它理应支持解析tsconfig.json,也能在.swcrc中配置路径别名,早年间也有开发者碰到过同类问题,按理现在已有解决方案。还有相关开发人员提到过SWC“不会读取tsconfig”,但我已经在.swcrc里配置了完全相同的路径别名,所以这应该不是问题根源。

SWC的文档表述模糊,仅提到jsc.baseUrl和jsc.paths是编译选项,语法与tsconfig一致,但完全未提及模块别名解析或tsconfig读取的相关细节。

从项目根目录执行swc . -d ./dist时,收到错误:

CustomError: Cannot find package '$lib' imported from /root/projects/example/src/index.ts

项目配置文件

tsconfig.json

{
  "compilerOptions": {
    "target": "es2020",
    "module": "ESNext",
    "moduleResolution": "node",
    "baseUrl": "./",
    "paths": {
      "$lib/*": ["src/lib/*"]
    },
    "outDir": "./dist",
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true,
    "strict": true,
    "skipLibCheck": true
  },
  "ts-node": {
    "swc": true
  },
  "exclude": ["node_modules", "dist"]
}

.swcrc

{
  "$schema": "https://json.schemastore.org/swcrc",
  "jsc": {
    "baseUrl": "./",
    "paths": {
      "$lib/*": ["src/lib/*"]
    }
  },
  "module": {
    "type": "es6"
  }
}

package.json

{
  "type": "module",
  "devDependencies": {
    "@swc/cli": "^0.1.62",
    "@swc/core": "^1.3.35",
    "ts-node": "^10.9.1",
    "typescript": "^4.9.5"
  }
}

寻求解决该问题的帮助或指导,谢谢!


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 16:01:04