我开始使用TypeScript编写应用程序。我学习了一些TS的特性,看起来可以帮助我,但实际上并没有像我期望的那样工作。TS的文档在模块解析章节中提到了路径映射。如果我理解正确的话,这个模块映射可以在import
语句中省略一些冗长的双点。因此,我创建了一个名为“inc”的目录,并在其中放置了一个文件(目前只有一个),该文件将被包含在多个目录中的多个文件中。我在tsconfig中编写了以下内容:
"baseUrl": ".",
"paths": {
"@inc/*": [ "inc/*" ]
}
现在,我期望使用import { X } from "@inc/somefile"
(甚至是从文件树的深处休息的文件)会导致从./inc/somefile.ts(或.js,当运行时)导入该export X
。
然而,编译器/转换器将保留import
语句,因此当我尝试使用node.js
运行此代码时,它会死亡,因为没有@inc/somefile
- node不读取tsconfig,tsc也不创建任何映射函数。
我当然可以手动读取和解析path
元素在某种require包装器中,但我相信我正在做错什么和/或更好的方法来实现这一点。
感谢您的回复。