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


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;

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM