Typescript and NodeJS : ReferenceError : Module is not defined
Typescript and NodeJS : ReferenceError : Module is not defined
我正在使用用于 Visual Studio (http://nodejstools.codeplex.com/) 的 NodeJS 工具和 Typescript 模板制作一个 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
关于这个问题我已经厌倦了很多事情(使用或不使用 /// 但我找不到任何解决方案。
请原谅我的英语,我不是母语人士。
提前致谢!
您需要在 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 模块系统,打字稿通过其 "external" 模块功能和编译器参数 --module commonjs
支持该系统
我正在使用用于 Visual Studio (http://nodejstools.codeplex.com/) 的 NodeJS 工具和 Typescript 模板制作一个 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
关于这个问题我已经厌倦了很多事情(使用或不使用 /// 但我找不到任何解决方案。
请原谅我的英语,我不是母语人士。 提前致谢!
您需要在 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 模块系统,打字稿通过其 "external" 模块功能和编译器参数 --module commonjs