我想在节点应用程序中使用moment.js,因此我使用节点的程序包管理器npm安装了moment.js:
npm install [email protected]
为了安全起见,我检查了一下是否未全局安装,并且安装的版本实际上是版本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关键字导入时刻:
import m = require("moment");
使用以下命令进行编译
tsc app.ts --module commonjs
产生以下错误
/home/unknown/temp/test/app.ts(3,1):错误TS2071:无法解析外部模块““ moment”“。/home/unknown/temp/test/app.ts(3,1):错误TS2072:模块不能别名为非模块类型。
为什么会发生此错误?我如何解决它?
d.ts文件中的重要一行是这一行...
declare var moment: MomentStatic;
它只是暂时声明一个变量。
您可以添加以下行来解决您的问题:
export = moment;
这应该使其可以使用您具有的import语句加载。
如果您这样做,则不需要参考注释。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句