我正在使用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
我对这个问题感到厌倦(使用或不使用///但我找不到任何解决方案。
对不起我的英语,我不是母语人士。 提前谢谢!
答案 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