我对打字稿比较陌生,所以也许我在这里遗漏了一些东西,或者不完全理解这个概念。在tsconfig中,我在compilerOptions中定义了以下内容:
{
baseUrl: ".",
paths: {
"*": ["server/*"]
}
}

假设以下目录结构:
+ server
| + routes
| | + util
| | - config.routes.ts
| - route_file.ts
-tsconfig.json

如果我在config.routes.ts中导入由route_file.ts导出的模块:
import * as routes from 'routes/route_file.ts';

Typescript解决路径没有问题。但是,编译后的JS需要具有相同文字路径的模块:
const routes = require('routes/route_file')

这显然是一个问题,因为找不到模块,因为路径应该是../route_file。我的项目有很多子目录,我希望尽可能远离../../../。有没有办法让编译器检查导入文件的目录并更新相对于该文件的require路径?
答案 0 :(得分:0)
这里的问题是tsconfig只告诉typescript编译器在哪里找到类型信息。解析路径是捆绑器的任务,如webpack。或者执行JavaScript的运行时 如果你想看一下webpack的工作配置,你可以查看我几周前设置的反应样本https://github.com/kaoDev/react-ts-sample