3

我试图弄清楚如何在 Angular CLI 环境中使用各种 3rd 方库。官方wiki 页面对于使用 moment.js lib 非常有用。但是,在尝试为库安装类型时遇到了麻烦(教程中的步骤 1a):

typings install moment --save

typings WARN hastypings Typings for "moment" already exist in 
"node_modules/moment/moment.d.ts". You should let TypeScript resolve
the packaged typings and uninstall the copy installed by Typings

typings ERR! message Unable to find "moment" ("npm") in the registry.
Did you want to try searching another source? Also, if you want contribute
these typings, please help us: https://github.com/typings/registry

我的设置供参考:

angular-cli: 1.0.0-beta.5
node: 4.4.4
os: darwin x64
typings: 1.0.5

尽管错误消息建议“卸载 Typings 安装的副本”,但似乎没有新.d.ts文件添加到项目文件夹中。在这种情况下,包含 3rd 方类型的最佳方式是什么?

4

1 回答 1

0

简短的回答:运行npm install @types/moment

解释:

你在这里至少有几个问题。

(1) 正如 TypeScript 团队所宣布的,“在 TypeScript 2.0 中获取类型声明将不需要除 npm 之外的任何工具”(强调他们的)。这意味着它typings 已被弃用,并且需要npm来安装打字文件。一个简单的例子是npm install --save @types/lodash. 注意@types。现在所有类型都进入node_modules/@types. 考虑到这一点,我们可以看看你的第二个问题。

(2) 您正在使用typingsTypeScript 1 工具,angular-cli其中使用 TypeScript 2。它们不兼容。相反,您可以momentjs使用npm install @types/moment.

最后——与你的问题没有直接关系——你可能对angular2-momentmomentjs感兴趣,这是一个移植到 Angular 2的开源库。

于 2017-06-22T00:15:03.100 回答