码迷,mamicode.com
首页 > 其他好文 > 详细

TypeScript 描述文件 (.d.td) 中的全局类型

时间:2020-06-25 09:57:46      阅读:55      评论:0      收藏:0      [点我收藏+]

标签:char   浏览器   def   void   rip   title   fun   需要   initial   

index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
<script src="./page.ts"></script>
 
</body>
</html>

 

 

page.ts
$(function () {
  $(‘body‘).html(‘<div>121212</div>‘);
})

执行 npm start("start": "parcel ./src/index.html")。这个时候浏览器弹出了111,但是编辑器还是会报错,提示 Cannot find name ‘$‘. Do you need to install type definitions for jQuery? Try `npm i @types/jquery`。让我们安装 @types/jquery。因为在 ts 里面直接引用了 js,所以不能正确的识别,这个时候需要去写个类型注解文件,帮助去打通 ts 和 js 的鸿沟

 

之前我们是安装别人写好的 .d.ts 文件。这次我们自己去写

 

jquery.d.ts
// 声明一个全局变量,叫做 $,接收一个函数,返回值是 void
// declare var $: (param: () => void) => void;

// 定义全局函数 $可以接收一个函数
declare function $(readyFunc: () => void): void;
// 定义全局函数 $可以接收一个字符串
interface JqueryInstance{
  html: (html: string) => {}
}
declare function $(selector: string): JqueryInstance;

 

 

TypeScript 描述文件 (.d.td) 中的全局类型

标签:char   浏览器   def   void   rip   title   fun   需要   initial   

原文地址:https://www.cnblogs.com/wzndkj/p/13191012.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!