Node.js Typescript和NodeJS:ReferenceError:未定义模块

Node.js Typescript和NodeJS:ReferenceError:未定义模块,node.js,visual-studio-2013,typescript,Node.js,Visual Studio 2013,Typescript,我正在使用NodeJSToolsforVisualStudio()和Typescript模板制作一个NodeJs控制台应用程序 这是我的基本代码: app.ts: /// <reference path="Module/Module.ts" /> var foo = new Module.ModuleClass(); foo.foo(); 编译器运行正常,但在运行时,NodeJS找不到模块。以下是错误: var foo = new Module.ModuleClass();

我正在使用NodeJSToolsforVisualStudio()和Typescript模板制作一个NodeJs控制台应用程序

这是我的基本代码:

app.ts:

/// <reference path="Module/Module.ts" />
var foo = new Module.ModuleClass();
foo.foo();
编译器运行正常,但在运行时,NodeJS找不到模块。以下是错误:

var foo = new Module.ModuleClass();
              ^
ReferenceError : Module is not defined
我对这个问题已经厌倦了很多(使用或不使用//),但我找不到任何解决方案

请原谅我的英语,我不是以英语为母语的人。
提前感谢!

您需要在Module/Module.ts中导出
模块

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


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

支持该系统。我以为我已经测试过了,但似乎我没有测试过。它适用于这种简单的情况,问题是我们没有一个模块。我们有一些子模块(Module.SubModule1,Module.SubModuel2)某些模块也被写入几个文件中。我们如何才能简单地做到这一点?听起来你想混合使用内部和外部模块。TypeScript不直接支持这种情况,但你可以使用webpack之类的捆绑工具将内部模块转换成与commonjs兼容的模块。我们只想拆分我们的代码和类包含在几个文件中。我们只是在每个文件中添加了大量导入:D。感谢Webpack,我们下次将使用它;-)。
export module Module { ...
import M = require('./Module/Module');
var foo = new M.Module.ModuleClass();
foo.foo();