打字稿中的baseUrl和路径 - 如何

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

我已经在打字稿中启动了一个应用程序。我已经了解了TS的一些功能,它看起来像是什么东西,可以帮助我,但是我不会像我期望的那样工作。 TS的文档说明了模块解析章节中的路径映射。如果我理解正确的话,这个模块映射可以在import中保存很少甚至很多双点。所以我创建了一个带有一个文件(此时)的“inc”目录,它将包含在多个目录中的多个文件中。进入tsconfig我写了以下内容:

"baseUrl": ".",
"paths": {
    "@inc/*": [ "inc/*" ]
}

现在,我希望,使用import { X } from "@inc/somefile"(甚至从文件夹树深处的文件中休息)将导致从./inc/somefile.ts(或.js,运行时)导入export X

Hovewer,编译器/转换器将完整保留import语句,所以当我尝试使用node.js运行此代码时,它会因为没有@inc/somefile而死亡 - 节点不读取tsconfig而tsc不会创建任何映射函数。

当然,我可以在某种需要的包装器中手动读取和解析path元素,但我相信有些东西我做错了和/或更好的方法来实现这一点。

谢谢您的回复。

node.js typescript import path require
1个回答
0
投票

记住这一点

如果您然后尝试用节点(或ts节点)执行编译的文件,它将只查看node_modules文件夹一直到文件系统的根目录,因此将找不到tsconfig中路径指定的模块。 - 在tsconfig-paths自述文件中介绍。

总之,直接要求tsconfig-paths进入依赖列表并在运行时加载tsconfig文件可能是一个快速的解决方案。

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