Typescript 1.6命名空间和导入类(commonJS)

时间:2015-10-31 22:15:07

标签: javascript module typescript

我尝试在TS 1.6上使用同一NS上的多个文件的命名空间。



function definingVars() {
  return {
    one: 1,
    banana: 2,
    chair: 3,
    cucumber: 4,
    five: 5,
    six: 6,
    salmon: 7,
    eight: 8,
    nine: 9,
    ten: 10
  };
}
function addingUp() {
  var data = definingVars();
  var total = Object.keys(data).filter(function(key) {
      return key !== 'ten';
  }).map(function(key) { 
      return parseInt(data[key], 10); 
  }).reduce(function(a, b) { 
      return a+b; 
  });
}




接口接缝按预期共享。但CoreConfigApp类在core.config.ts文件中抛出错误。

tsconfig:



---------------------------------------------------
app/core/config/core.config.ts
---------------------------------------------------
namespace app.core.config {
  
  export class CoreConfig {
    
    public appConfig : CoreConfigApp;
    
    constructor() {
      
      // Uncaught TypeError: config.CoreConfigApp is not a function
      this.appConfig = new CoreConfigApp().getDevelopment(); 
      
    }
  }
}


---------------------------------------------------
app/core/config/core.config.app.ts
---------------------------------------------------
namespace app.core.config {

  export class CoreConfigApp implements ICoreConfig {

    public name : string;
    public version : string;
    
    constructor() {
      this.name = 'super app';
      this.version = '1.0.0-alpha';
    }
    
    getDevelopment() {
      return this;
    }
    getProduction() {
      return this;
    }
  }
}


---------------------------------------------------
app/core/config/core.config.interfaces.ts
---------------------------------------------------
namespace app.core.config {

  export interface ICoreConfig {
    getDevelopment() : any;
    getProduction() : any;
  }
  
}




我在代码中错过了什么,我的类也可以访问同一名称空间中的其他文件?参考路径定义没有帮助。 非常感谢您的提示!

1 个答案:

答案 0 :(得分:1)

  

参考路径定义没有帮助。非常感谢您的提示!

out / outFile有问题documented here,可能导致它在运行时失败。请不要使用namespaces只使用commonjs模块