Typescript和NodeJS:ReferenceError:模块没有定义
我使用Typescript模板为Visual Studio( 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
我厌倦了很多关于这个问题的事情(使用或不使用///,但我找不到任何解决scheme。
请原谅我的英语,我不是母语的人。 提前致谢 !
您需要在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模块系统,这个typescript支持通过它的“外部”模块特性和一个编译器arg --module commonjs
- Typescript – tsc编译器会中断我的代码
- Typescript编译器错误TS2307:从无NPM的CDN加载时找不到模块“angular2 / core”
- 为什么在泄漏传递式实现types时,TSC会给出如此神秘的错误?
- 从几个TypeScript类创build一个CommonJS模块
- 如何在用Typescript和ES6编写的NodeJS中运行黄瓜testing
- 如何发送邮件请求在Ionic 2节点服务器运行在本地主机?
- TypeScript中的Mongoose方法范围
- 带有node_modules的WebStorm TypeScript支持
- 出现错误'在angular2应用程序中运行服务时,无法读取未定义的属性'长度'