【发布时间】:2016-11-24 15:24:15
【问题描述】:
这是我到目前为止所做的:
- 安装 NodeJs 并使用它:
node命令可用 - 使用
npm安装 TypeScript:npm install typescript -g - 现在我可以创建
.ts文件,使用TypeScript 语法并使用tsc命令编译文件
好的,从现在开始一切正常。我正在做的是将 Java 库转换为 TypeScript。但我面临一个问题:Java 库正在使用 Calendar 对象,我需要 TypeScript 中的相同类型的对象。
我搜索了一下,找到了moment.js。我想将该库导入到我的 TypeScript 文件中。
问题:我该怎么做?我在 StackOverflow 上环顾四周,但在每篇文章中,我发现有些东西让我认为这不是我的解决方案,例如:
- 安装
typings/tsd:我读到现在moment.js现在有一个定义文件(?抱歉,也许这不是一个好词,但它有一个moment.d.ts文件) - 签入
random.config.json文件:我没有这样的配置文件(我猜在NodeJs 中没有,在TypeScript 中我有tsconfig.json文件,并试图包含moment.d.ts文件但我没有无法在 TypeScript 中导入它 >"cannot find module moment") - 从
npm安装时刻:我已经完成了,但我没有找到如何在我的项目中包含moment.d.ts文件。
等等……
我想知道我缺少什么以及如何在我的.ts 文件中包含moment 以便使用它。我可能对这些模块的组织缺乏一些了解,因此欢迎各位解释。
- NodeJs 版本:7.1.0
- TypeScript 版本:2.0.10
编辑
经过一番挖掘,我发现我可以使用tsc Test.ts --traceResolution 编译我的.ts 文件,以查看导入是否正确解析。结果:他们是!现在真正的问题是我的 IDE(Visual Studio)不知道moment。
问题是我手动创建了每个 .ts 文件,方法是创建一个新文件、更改扩展名并在 Visual Studio 中打开它。也许这就是问题所在?我只是将 Visual Studio 用作带有 IntelliSense 的文本编辑器。我是否必须做一些事情才能让 Visual Studio 了解导入来自 NodeJS ?
【问题讨论】:
-
momentjs.com 上的文档中有一个关于如何在 typescript 中使用 moment 的部分
-
这就是我所做的,但如前所述,当我想导入
moment时出现错误cannot find module "moment"。我也尝试设置编译器选项,但我得到了同样的错误。
标签: node.js visual-studio typescript momentjs