2016-06-11 89 views
0

我试过使用hammerjs的类型定义。正如:如何导入打字稿中的类型定义?

import Hammer from 'hammerjs'; 

,但我得到这个错误:

Error TS2307: Cannot find module 'hammerjs'

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

我的package.json包含:

"dependencies": { 
    "git+https://[email protected]/DefinitelyTyped/DefinitelyTyped.git" 
} 

第二个问题,什么我对导入模块错误?

回答

4

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

我安装了命令hammerjs:

typings install github:DefinitelyTyped/DefinitelyTyped/hammerjs/hammerjs.d.ts#de8e80dfe5360fef44d00c41257d5ef37add000a --global --save

随后还出现了错误:

Error TS2307: Cannot find module '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';

2

显然你误用了package.json的依赖关系。

请阅读https://github.com/DefinitelyTyped/DefinitelyTyped#how-to-get-the-definitions如何使用此处提供的定义,或者https://www.npmjs.com/package/typings如何使用更新的“类型”定义。

要回答你的第一个问题,你只需要定义你的项目依赖关系。

要回答第二个问题,打字稿编译器会尝试加载hammerjs依赖项,但找不到它。您必须将其作为package.json中的依赖项添加并使用npm进行安装。

+0

我安装了comand:typings安装github:DefinitelyTyped/DefinitelyTyped/hammerjs/hammerjs.d.ts#de8e80dfe5360fef44d00c41257d5ef37add000a --global --save,但得到错误:错误TS2307:找不到模块'hammerjs'。我相信问题出在gulpfile.js中,他们看起来不像typ.json –

0

Hammerjs可能不一样铬extention分型我正在处理,但问题听起来很像我所经历的时候你缺少模块文件导入或导出,你需要给出一个参考:

第1步:安装NPM --save @类型/铬

第2步:添加///代码需要使用模块

步骤3:该文件可以访问所有的申报模块[做不是进口铬或'@ types/chrome'] https://typescript.codeplex.com/wikipage?title=Modules%20in%20TypeScript