min*_*now 7 swc typescript swc-compiler
我有一个打字稿项目,我正在使用 swc 进行编译。我无法让 swc 解析 或 中定义的路径tsconfig.json别名.swcrc。eslint 可以正确解析模块别名,并且在未将 swc 指定为编译器的情况下运行 ts-node 时,可以正确解析模块别名。
鉴于此拉取请求,似乎 swc 应该能够解析tsconfig.json并支持 中定义的路径别名.swcrc。然而,似乎人们在使用此功能后也遇到了与我类似的问题,尽管那是两年前的事了,我无法想象此后还没有解决方案。
另外,在一个奇怪的旁注中,实现 TSConfigResolver 的 PR 的作者在他的 PR 合并一年后的一个问题中提到了 swc“不考虑 tsconfig”。虽然这不应该是我的问题的根源,因为我在中指定了相同的路径别名.swcrc
swc 文档非常模糊,没有提及任何有关模块别名或解析 tsconfig 的内容,除此之外,jsc.baseUrl它们jsc.paths是编译选项,并且它们与 tsconfig 语法匹配。
任何帮助或指导将不胜感激,谢谢!
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"]
}
Run Code Online (Sandbox Code Playgroud)
.swcrc
{
"$schema": "https://json.schemastore.org/swcrc",
"jsc": {
"baseUrl": "./",
"paths": {
"$lib/*": ["src/lib/*"]
}
},
"module": {
"type": "es6"
}
}
Run Code Online (Sandbox Code Playgroud)
package.json
{
"type": "module",
"devDependencies": {
"@swc/cli": "^0.1.62",
"@swc/core": "^1.3.35",
"ts-node": "^10.9.1",
"typescript": "^4.9.5"
}
}
Run Code Online (Sandbox Code Playgroud)
swc . -d ./dist从项目根目录运行时出现以下错误:
CustomError: Cannot find package '$lib' imported from /root/projects/example/src/index.ts
| 归档时间: |
|
| 查看次数: |
5793 次 |
| 最近记录: |