【发布时间】:2018-12-19 16:00:07
【问题描述】:
我已经在 typescript 中启动了一个应用程序。我已经了解了 TS 的一些功能,它看起来像是可以帮助我的东西,但是,我没有像我期望的那样工作。 TS 的文档在 Module resolution 一章中介绍了有关 Path mapping 的内容。如果我理解正确,这个模块映射可以在import 中为我节省很少甚至很多双点。所以我创建了一个包含一个文件的“inc”目录(此时),它将包含在多个目录中的多个文件中。在 tsconfig 中我写了以下内容:
"baseUrl": ".",
"paths": {
"@inc/*": [ "inc/*" ]
}
现在,我预计,使用 import { X } from "@inc/somefile"(即使来自文件夹树深处某处的文件)会导致从 ./inc/somefile.ts(或 .js,在运行时)导入 export X。
但是,编译器/转译器将保持 import 语句完好无损,因此当我尝试使用 node.js 运行此代码时,它会死掉,因为没有 @inc/somefile - 节点不读取 tsconfig 和 tsc不创建任何映射函数。
当然,我可以在某种 require 包装器中手动读取和解析 path 元素,但我相信我做错了什么和/或更好的方法来实现这一点。
感谢您的回复。
【问题讨论】:
-
这个问题你解决了吗?
-
没有。 vanilla TS 目前无法解决(嗯,这是一个真实的词吗?),更多关于 github:github.com/Microsoft/TypeScript/issues/10866
标签: node.js typescript import path require