Typescript和NodeJS:ReferenceError:未定义模块

时间:2015-01-24 15:25:36

标签: node.js visual-studio-2013 typescript

我正在使用NodeScript模板的NodeJS工具(http://nodejstools.codeplex.com/)创建一个NodeJs控制台应用程序。

以下是我的代码:

app.ts:

/// <reference path="Module/Module.ts" />
var foo = new Module.ModuleClass();
foo.foo();

Module / Module.ts:

module Module {
    export class ModuleClass {
       foo() {
        console.log('Hello World');
       }
   }
}

编译器运行没有问题,但在运行时,NodeJS无法找到模块。这是错误:

var foo = new Module.ModuleClass();
              ^
ReferenceError : Module is not defined

我对这个问题感到厌倦(使用或不使用///但我找不到任何解决方案。

对不起我的英语,我不是母语人士。 提前谢谢!

1 个答案:

答案 0 :(得分:4)

您需要在Module / Module.ts

中导出Module
export module Module { ...

在app.ts中,您需要require('./Module/Module')

import M = require('./Module/Module');
var foo = new M.Module.ModuleClass();
foo.foo();

你需要这样做,因为这个node.js使用了commonjs模块系统,该脚本通过其“外部”模块功能和编译器arg --module commonjs

支持。