带有system.js模块的TypeScript在节点错误中运行

时间:2015-09-07 20:35:56

标签: typescript

我想将System.js模块管理器与TypeScript一起使用。 我的计划是在节点

中运行typescript

问题是,如果我将我的Main.js(从Main.ts生成)文件标记为入口点,它将因此错误而崩溃:

ReferenceError:未定义系统

这很正常,因为我生成的代码是这样开始的: System.register([“./ Apple”],function(exports_1){

当然,默认情况下节点中没有System类。 那么如何使用typescript或node来加载system.js模块?

我可以使用require创建一个额外的js文件来加载它,但我正在寻找一个nativecript中的原生解决方案

谢谢!

3 个答案:

答案 0 :(得分:4)

您应该告诉编译器将模块导出到commonjs而不是systemjs。 Node使用commonjs作为其本机模块系统。

答案 1 :(得分:1)

我可能无法正确理解,但您是否尝试按照node.js GitHub自述文件(https://github.com/systemjs/systemjs)上的system.js部分进行操作?

$ npm install systemjs

然后:

var System = require('systemjs');

// loads './app.js' from the current directory
System.import('./app').then(function(m) {
  console.log(m);
});

希望有所帮助。

答案 2 :(得分:1)

您使用的是tsconfig文件吗? 你添加了模块:'system' 我遇到了类似的问题,这就解决了。还要确保system.src.js位于脚本的顶部。