首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何有效地使用类型客户端?

如何有效地使用类型客户端?
EN

Stack Overflow用户
提问于 2016-04-17 16:09:04
回答 1查看 277关注 0票数 1

我正在尝试将库客户端与TypeScript结合使用。(Zepto,一个轻量级的JQuery替代品)

这是针对旧浏览器的,所以我不想使用导入和花哨的ES6语法,最好避免使用require/commonJS等。

因此,我只需使用脚本标记将其添加到同一页面。

这个库有一个类型定义。我已经添加了它。

然后我在我的主JS文件中添加了:

代码语言:javascript
复制
/// <reference path="../typings/browser.d.ts" />

其中该文件指向包含以下内容的文件:

代码语言:javascript
复制
/// <reference path="browser/ambient/node/index.d.ts" />
/// <reference path="browser/ambient/zepto/index.d.ts" />
/// <reference path="browser/definitions/universal-analytics/index.d.ts" />

等。

但如果我试一下:

代码语言:javascript
复制
Zepto.ajax({

给出TS错误:

代码语言:javascript
复制
Property 'ajax' does not exist on type '(fn: ($: ZeptoStatic) => void) => void'.

还有一大堆其他的错误。

代码语言:javascript
复制
Argument of type 'string' is not assignable to parameter of type '($: ZeptoStatic) => void'.

我这样做是为了在客户端使用这些类型文件吗?也许只是Zepto的输入是不正确的…?

谢谢你的指点。如果不是一直从tsc得到大量的垃圾输出就好了……

EN

回答 1

Stack Overflow用户

发布于 2016-04-17 19:33:36

我认为这不是Zepto var的用法。

直接从zeptojs.com‘核心方法’部分,我们可以看到Zepto var可以用来指定回调函数,当库准备好使用时:

代码语言:javascript
复制
Zepto(function($){
  alert('Ready to Zepto!')
})

这正是zepto.d.ts所包含的-声明一个只接受回调函数作为参数的函数:

代码语言:javascript
复制
declare var Zepto: (fn: ($: ZeptoStatic) => void) => void; 

如果你想使用zepto方法--就像你在$中做的那样,通过jquery来访问它们:

代码语言:javascript
复制
$.ajax(......);

这正是它的定义所说的:

代码语言:javascript
复制
declare var $: ZeptoStatic;

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36674130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档