我正在将我的JS + requirejs代码移植到typescript + requirejs。 我没有找到如何处理的一个场景是循环依赖。
Require.js在依赖于当前的模块上返回undefined,并且可以解决此问题:
MyClass.js
define(["Modules/dataModel"], function(dataModel){
return function(){
dataModel = require("Modules/dataModel");
...
}
});
现在在打字稿中,我有:
MyClass.ts
import dataModel = require("Modules/dataModel");
class MyClass {
dataModel: any;
constructor(){
this.dataModel = require("Modules/dataModel"); // <- this kind of works but I lose typechecking
...
}
}
如何调用第二次需要并保持打字稿的类型检查好处? dataModel是一个模块{...}
答案 0 :(得分:2)
使用从import
获得的内容指定类型,即
import dataModelType = require("Modules/dataModel");
class MyClass {
dataModel: typeof dataModelType;