Typescript 导入别名在 dist 中不起作用

问题描述 投票:0回答:1

我的别名不起作用,看起来编译器没有将 @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 tsconfig
1个回答
0
投票

typescript 只是使用这个别名路径来解析其类型系统,并没有实际更改 JavaScript 文件的引用路径,这是使用其他方法或库完成的,例如

tsc-alias

© www.soinside.com 2019 - 2024. All rights reserved.