在TypeScript中导入模块时,绝对路径的根是什么?

6

我是一名 TypeScript 开发者(使用 Visual Studio 2015),以下是我的基本文件结构:

Solution
    AppProject
        Scripts
            framework
                Utils.ts
            app
                SomeApp.ts
        tsconfig.json

现在,在应用程序模块中,我想使用绝对路径引用框架模块,所以我会做类似以下的事情:

import { Utils } from '/Scripts/framework/Utils'

然而,这样行不通
我得到了红色波浪线和一个“找不到模块'/Scripts/framework/Utils'”的错误。

使用相对路径时它可以正常工作,但显然应用程序比所示的更加复杂,我不想处理多级相对路径。

我正在使用带有节点模块解析策略的typescript 1.8。
如果有关系,我在使用webpack进行编译和捆绑。


你有阅读过文档中的模块解析部分吗? - Nitzan Tomer
是的,文档似乎没有描述如何使用绝对路径。只有相对路径和非相对路径。 - Jeppe Stougaard
1
也许这会有所帮助:绝对路径和require() - Nitzan Tomer
1个回答

6

很不幸,我在文档中没有找到任何相关信息。于是我追踪了编译器(TypeScript 2.5.2)尝试解析绝对路径的导入时所执行的文件系统访问。

结果是/始终指向文件系统根目录。无论compilerOptions的设置如何,比如rootDirrootDirs或者baseUrl


在此 PR -> https://github.com/Microsoft/TypeScript/issues/19318 中添加了对前导斜杠的支持。 - Matthew Dean
我认为#19318是一个打错字,而这个问题已经通过这种方式得到解决。https://github.com/microsoft/TypeScript/issues/13730 Pull: https://github.com/microsoft/TypeScript/pull/27980 - Wakusei

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接