【发布时间】:2016-12-31 10:15:45
【问题描述】:
在我的网站上,我想使用SystemJS 导入FancyModule,以便我可以创建此模块导出的类的实例。
所以我想要实现的是(在与 ECMAScript 2015 兼容的网站内):
SystemJS.import('MyFancyModule').then(function(MyFancyModule) {
var myFancyInstance = new MyFancyModule.MyFancyClass('Test');
console.log(myFancyInstance.text);
});
很遗憾,我收到以下错误:
TypeError: MyFancyModule.MyFancyClass 不是构造函数(…)
这是我的 TypeScript 模块:
export module MyFancyModule {
export class MyFancyClass {
public text: string;
constructor(text: string) {
this.text = text;
}
}
}
这是我的 TypeScript 编译器设置 (tsconfig.json):
{
"compilerOptions": {
"module": "system",
"moduleResolution": "node",
"outFile": "dist/browser/MyFancyModule.js",
"rootDir": "src/ts",
"target": "es5"
}
}
将我的 TypeScript 模块编译成:
System.register("MyFancyModule", [], function(exports_1, context_1) {
"use strict";
var __moduleName = context_1 && context_1.id;
var MyFancyModule;
return {
setters: [],
execute: function() {
(function(MyFancyModule) {
var MyFancyClass = (function() {
function MyFancyClass(text) {
this.text = text;
}
return MyFancyClass;
}());
MyFancyModule.MyFancyClass = MyFancyClass;
})(MyFancyModule = MyFancyModule || (MyFancyModule = {}));
exports_1("MyFancyModule", MyFancyModule);
}
}
});
对我来说,MyFancyModule 似乎已正确导出,但我不知道为什么我无法访问 MyFancyClass。
【问题讨论】:
标签: typescript module ecmascript-6 systemjs tsc