網(wǎng)上應(yīng)該有資料吧眼五?對于封裝成angular2+的模塊咳胃,直接import就行了植康,反之的第三方j(luò)s,其實也很簡單展懈,一般不用考慮js的模塊規(guī)范(如CommonJS销睁,AMD供璧,CMD),起碼有如下兩種方式(以jquery為例——題外話冻记,angular雖然也能操作dom睡毒,但不推薦,推崇使用數(shù)據(jù)綁定檩赢,所以一般沒必要引入jquery):
方式一——普通:
- 像普通網(wǎng)頁一樣在index.html里面添加:
<script src="第三方j(luò)s地址"></script>
- 使用時吕嘀,在ts文件頭部添加:
declare let $: any;
方式二——import:
- 執(zhí)行命令行安裝node模塊:
npm install jquery
- 使用時,在ts文件頭部添加:
import * as $ from 模塊名或Js的相對路徑;
或直接導(dǎo)出方法
import { myFunction } from 模塊名或Js相對路徑
一般到這里就可以了贞瞒,只是這個時候調(diào)用起來還是有點不方便偶房,調(diào)用時要么已經(jīng)熟知該js庫怎么用,要么要看源碼了解它的屬性或方法军浆,就算你打錯了方法名都不會有提示棕洋。那有沒有更方便使用呢?有乒融,那就是typings
威蕉,它有點像我先前寫的一篇文章中cordova原始調(diào)用和基于ionic-native的模塊調(diào)用的概念,typings
會把原始js映射為類的概念生成d文件秸谢,這樣肃续,不需要等到運行,在編碼過程中通過typescript就能有提示申钩,同時會直接檢驗使用的正確性次绘。
使用typings
其實挺簡單,一句npm install @types/<package>
命令即可撒遣,如:
npm install @types/jquery
或許一些文章會寫到要全局安裝typings
的cli邮偎,然后用typings
的命令typings install
等等的,其實已經(jīng)都過期了义黎,因為從TypeScript 2.0開始禾进,已經(jīng)改為@types模塊,由npm來管理了廉涕,這使得使用起來更加方便泻云。
然后常規(guī)使用即可。這里簡單給出驗證示例:
html頁面加一個按鈕:
<button ion-button id="test" (click)="onTest()">test</button>
ts里面加一個方法:
onTest(){
console.log($('#test'));
}
最后點擊按鈕時的輸出結(jié)果見下圖: