我的别名不起作用,看起来编译器没有将 @utils 转换为 $path/utils。
我有以下结构:
src
├── server
│ └── resolvers
│ └── mutations
│ └── user.mutation.ts -> import { encryptPassword } from "@utils/auth.js"
└── utils
└── auth.ts
dist
├── server
│ └── resolvers
│ └── mutations
│ └── user.mutation.js -> import { encryptPassword } from "@utils/auth.js" (expected to be path-to-dist-utils/auth.js)
└── utils
└── auth.js
这是我的 tsconfig.json:
{
"compilerOptions": {
"baseUrl": "./",
"rootDirs": [
"src"
],
"outDir": "dist",
"lib": [
"es2020"
],
"target": "es2020",
"module": "esnext",
"types": [
"node"
],
"paths": {
"@utils/*": [
"utils/*"
]
}
}
}
我期望 TS 能够正确解释别名,但由于某种原因,别名正在注册,但 dist js 无法很好地读取。
typescript 只是使用这个别名路径来解析其类型系统,并没有实际更改 JavaScript 文件的引用路径,这是使用其他方法或库完成的,例如
tsc-alias