自从typescript doesn't seem to support absolute path references以来,我看不到如何保持我的引用的整洁。我在我的文件夹结构中有很多不同位置的ts文件,我不得不非常小心,我的意思是..\Scripts\typings\jquery\jquery.d.ts
还是..\..\Scripts\typings\jquery\jquery.d.ts
看起来真的很笨拙。
有没有任何的方式来指定根引用文件夹,这样我就不必指定相对于当前文件路径的所有路径,每个文件夹都是不同的?
发布于 2014-11-09 23:55:19
目前还没有一种方法可以指定要在引用中使用的根文件夹。
绝对文件路径确实有效,但通常情况下,对于多个开发人员而言,对路径的维护可能会使许多TypeScript开发项目无法实现此目标。
例如,CodePlex上的discussions表达了类似的请求(但没有解决方案)。由于TypeScript文件是独立的,一些人担心在编译器中引入类似于“项目”的方案。
一些开发人员会将最常用的引用放在单个文件(例如,名为_references.d.ts
)中,并在其中列出对定义文件的引用。然后,该文件将从其他TypeScript文件中引用。它简化了问题,但并没有完全消除这个问题(因为您仍然需要使用相对文件引用,并潜在地使用N级目录弹出):
/// <references path="../../../_references.d.ts." />
根据您有多少个文件和定义的大小,您可能会发现,由于文件是单独编译的,因此编译过程将花费更长的时间(因为它会从_references.d.ts
文件中拉入可能未使用的定义)。(例如,如果您在IDE中激活了“保存时编译”)。
发布于 2018-01-15 05:17:40
为了保持相对路径引用的整洁,请在tsconfig.json中指定路径别名
首先,安装npm 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
希望这就是你想要的!
https://stackoverflow.com/questions/26822836
复制相似问题