TypeScript不会parsing外部模块(node.js)

我想在我的节点应用程序中使用moment.js,所以我使用节点的包pipe理器npm安装了moment.js:

npm install moment@2.4.0 

只是为了安全起见,我检查了时间没有安装在全球,安装的版本是真正的版本2.4.0(版本2.4.0为了使用正确的d.ts文件…)

 require("moment").version 

好吧,似乎是好的。 我也使用最新版本的TypeScript(0.9.5)。

所以,现在我将下面的文件添加到我的项目根目录https://github.com/borisyankov/DefinitelyTyped/blob/master/moment/moment.d.ts并引用该文件:

 /// <reference path="moment.d.ts" /> 

现在,它应该使用TypeScripts导入关键字:

 import m = require("moment"); 

用下面的命令编译

 tsc app.ts --module commonjs 

产生以下错误

/home/unknown/temp/test/app.ts(3,1):错误TS2071:无法parsing外部模块的“时刻”。 /home/unknown/temp/test/app.ts(3,1):错误TS2072:模块不能被别名为非模块types。

为什么会发生这种错误? 我如何解决它?

d.ts文件中的重要行是这一个…

 declare var moment: MomentStatic; 

它只是宣布一个variables的时刻。

您可以添加以下行来解决您的问题:

 export = moment; 

这应该使它可以使用您拥有的import语句来加载。

如果你这样做 – 你不需要参考评论。

Interesting Posts