我正在构建系统,这是...不同。加载依赖关系,而不是通过相对路径?
- 它在远程机器上并行运行编译器等工具。
- 我们将所有用户的依赖关系保存在一个共同的地方,而不是复制每个项目的源根目录下的lib /目录或类似文件。
- 我们仅向每个开发人员机器签出存储库的子集,这意味着某些文件位于本地磁盘上,而另一些则在FUSE文件系统中访问。
- 一些输入(例如,
.d.ts
文件)由构建系统生成,这些输入位于不同的路径或从另一个FUSE文件系统加载。
所以我最终之类的东西
// hmm, is this the right number of ..'s to
// get up to the shared DefinitelyTyped repo?
/// <reference path='../../../../../typings/angularjs/angular.d.ts' />
和洗牌周围生成系统中的文件很多代码打下了一个文件结构模仿TSC所期待的。
这些问题是由于完全依赖解析/// <reference/>
标记相对于其出现文件路径的tsc行为。我真的想是给的,应通过按顺序检查来解决绝对路径堆栈:在开发商
- 根路径的工作空间 ,其中构建系统却将生成的文件
- 根
- 根路径整个存储库的只读快照的路径
有没有人有一种变通方法用于加载文件以不同的方式(比如在语言服务API的顶部自定义编译器前端?) 拥有核心TS团队考虑要素里这个?
看看'tsc'编译器的源代码,似乎你可以使用根路径(https://github.com/Microsoft/TypeScript/search?utf8=%E2%9C%93&q=tryresolvescriptreference&type=Code)已经。你能缩短你的问题到一些[最小,完整和可验证的例子](http://stackoverflow.com/help/mcve)? – xmojmr 2015-02-11 19:37:17