当我为浏览器内的 TS 代码编写测试时,我遇到了以下问题。我的“测试”代码文件位于与“应用程序”代码文件不同的文件夹中(我不愿意放弃这种安排)。因此,为了导入我的“app”模块,我必须这样做:
// tests/TS/SubComponent/Module.Test.ts
import m = module("../../Web/Scripts/SubComponent/Module");
这编译得很好。但是当加载到浏览器中时,它显然不起作用,因为从浏览器中运行的RequireJS的角度来看,模块位于“ app/SubComponent/Module ”(通过Web服务器和RequireJS配置重新映射后)。
使用 TS 0.8.3,我能够完成这个巧妙的技巧,但在 0.9.0 中它不再起作用,因为现在编译器不允许我将模块视为接口。
所以问题是:你如何测试你的客户端代码?显然,我不能是唯一一个这样做的人,不是吗?:-)