由于打字稿doesn't seem to support absolute path references,我无法看到如何保持我的参考文献整洁。我的文件夹结构中的许多不同位置都有ts文件,我必须非常小心我的意思是..\Scripts\typings\jquery\jquery.d.ts
还是..\..\Scripts\typings\jquery\jquery.d.ts
看起来真的很笨拙。
是否有任何方式来指定根引用文件夹,这样我就不必指定相对于当前文件路径的所有路径,这对于每个文件夹都是不同的?
答案 0 :(得分:17)
目前没有办法指定要在引用中使用的 root 文件夹。
绝对文件路径确实有效,但通常与多个开发人员对路径进行维护使得这可能对许多TypeScript开发项目来说都是不可取的。
例如,CodePlex上有discussions表示类似请求(但没有解决方案)。由于TypeScript文件是独立的,一些人一直关注引入一个"项目"喜欢编译器的方案。
一些开发人员会将最常用的引用放在一个文件中(例如,称为_references.d.ts
),并在那里列出对定义文件的引用。然后,该文件将从其他TypeScript文件中引用。它简化了但并没有完全消除这个问题(因为你仍然需要使用具有N级目录弹出的相对文件引用):
/// <references path="../../../_references.d.ts." />
根据您拥有的文件数量和定义的大小,您可能会发现,由于文件是单独编译的,因此编译过程将花费更长时间(因为它从_references.d.ts
文件中提取了可能未使用的定义)。 (例如,如果你有&#34;编译保存&#34;在IDE中激活)。
答案 1 :(得分:1)
为了使您的相对路径引用保持整洁,请在其中指定路径别名 你的tsconfig.json
首先安装 tspath 用于解析ts路径的npm工具 注意:tspath需要最近的节点专长!
npm install -g tspath
接下来,将路径别名添加到tsconfig.json
"baseUrl": "./",
"paths": {
"@Scripts/*": ["./Scripts/typings/jquery/*"],
"@Plugins/*": ["./MyPlugins/V2/*"]
}
现在在引用脚本时使用别名
@Scripts/jquery
@Plugins/myPlugin
运行TypeScript编译器后,从项目目录中运行:
tspath
或
tspath -f
跳过提示!
阅读详情:https://www.npmjs.com/package/tspath
希望这就是你要求的!