如何在打字稿中导入类型定义?

Emi*_*ues 2 hammer.js typescript ionic2 angular

我尝试使用hammerjs的类型定义。作为:

import Hammer from 'hammerjs';
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

错误 TS2307:找不到模块“hammerjs”

我有两个问题。首先,有必要在github中获取所有tile定义文件,我们可以获得hammerjs的简单定义吗?

我的 package.json 包含:

"dependencies": {
   "git+https://git@github.com/DefinitelyTyped/DefinitelyTyped.git"
}
Run Code Online (Sandbox Code Playgroud)

第二个问题,我关于导入模块的错误是什么?

Emi*_*ues 5

我在阅读后解决了这个问题:http : //x-team.com/2016/06/include-javascript-libraries-in-an-ionic-2-typescript-project/

我使用以下命令安装了hammerjs:

打字安装github:DefinitelyTyped/DefinitelyTyped/hammerjs/hammerjs.d.ts#de8e80dfe5360fef44d00c41257d5ef37add000a --global --save

然后还是出现了错误:

错误 TS2307:找不到模块“hammerjs”

我正在使用 ionic2 开发应用程序,我发现打字稿的编译器查看文件main.d.ts而不是index.d.ts。将文件 index.d.ts 重命名为 main.d.ts 后,工作正常!在 root-your-app/typings 中找到的文件 main.d.ts

对于项目中的导入,我使用:import * as Hammer from 'hammerjs';