Typescript + requirejs:如何处理循环依赖?

时间:2014-06-08 09:20:03

标签: requirejs typescript

我正在将我的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是一个模块{...}

1 个答案:

答案 0 :(得分:2)

使用从import获得的内容指定类型,即

import dataModelType = require("Modules/dataModel");

class MyClass {

  dataModel: typeof dataModelType;