欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

微信小程序 + typescript集成初探 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識(shí)

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!

您當(dāng)前位置>首頁 » 新聞資訊 » 小程序相關(guān) >

微信小程序 + typescript集成初探

發(fā)表時(shí)間:2020-10-19

發(fā)布人:葵宇科技

瀏覽次數(shù):129

終于,終于要進(jìn)入微信小程序的坑了嗎?!(之前簡單摸了一摸,但是最后因?yàn)闆]有實(shí)際業(yè)務(wù)場(chǎng)景最后隨手寫了點(diǎn)很水的小東西,沒怎么具體接觸)
在這里插入圖片描述
這一次起步呢,就決定直接開始從集成ts的方向上入手~

首先!按照老夫一貫的日常風(fēng)格,當(dāng)然是先去找一堆相關(guān)文檔看看山有多高,水有多深哈哈~

看了一下差不多的相關(guān)文檔,隨手放一篇比較精簡覺得寫的也比較清晰的:https://www.jianshu.com/p/a4d9754281eb

于是呢,我按照文章的部分創(chuàng)建了一個(gè)ts的小程序項(xiàng)目~

在這里插入圖片描述
初始化的目錄結(jié)構(gòu)部分就是這個(gè)樣子的,可以清晰的看到和一般的小程序項(xiàng)目不同的是,ts項(xiàng)目默認(rèn)是使用了npm模塊,miniprogram文件夾內(nèi)就是我們小程序的主體內(nèi)容部分和相關(guān)配置文件,每個(gè)ts文件都有一個(gè)配套的js文件。

值得注意的是,很多博客會(huì)說明集成ts的項(xiàng)目需要手動(dòng)編譯才會(huì)生效,但是沒有說明原因,這一點(diǎn)讓我覺得很奇怪,因?yàn)槲矣浀梦⑿砰_發(fā)者工具是可以配置保存時(shí)自動(dòng)編譯的,什么情況下會(huì)需要手動(dòng)編譯??

答案在于,小程序?qū)嶋H取用的是.js文件,而非.ts文件,手動(dòng)編譯觸發(fā)了.ts文件 => .js文件,微信小程序并沒有通俗意義上的支持ts,只是為了眾多的ts愛好者加了一層轉(zhuǎn)換,而這層轉(zhuǎn)換在保存時(shí)觸發(fā)自動(dòng)編譯的時(shí)候并沒有執(zhí)行

我分別在.js文件和.ts文件都寫了一個(gè)test方法,輸出內(nèi)容為:js/ts文件test事件觸發(fā),此時(shí)不點(diǎn)擊工具的手動(dòng)編譯,而是選擇觸發(fā)保存時(shí)候的自動(dòng)化編譯。
在這里插入圖片描述
很明顯的可以看到,其實(shí)這個(gè)時(shí)候讀取的是js文件內(nèi)的test事件。

這個(gè)時(shí)候我們?cè)賮睃c(diǎn)擊手動(dòng)編譯,看一下結(jié)果。
在這里插入圖片描述
通過上圖所示或者下圖所示方式進(jìn)行手動(dòng)編譯

在這里插入圖片描述
編譯結(jié)束之后,我們?cè)賮砜磳?duì)應(yīng)的.js文件,會(huì)發(fā)現(xiàn)內(nèi)容被修改了,變得與ts文件內(nèi)一致。

在這里插入圖片描述
由此,明白了為什么各位大佬要說明需要進(jìn)行手動(dòng)編譯。以上~

在這里插入圖片描述
我在這里插了一行代碼輸出,發(fā)現(xiàn)手動(dòng)編譯的時(shí)候會(huì)觸發(fā)tsc命令~而保存自動(dòng)編譯的時(shí)候不會(huì)觸發(fā)到這一條命令~emmmmmmmmmm這個(gè)可能是產(chǎn)品設(shè)計(jì)上的點(diǎn)~

與此同時(shí),明白了小程序的這一套邏輯之后就明白了為什么頁面目錄下既有.ts文件也有.js文件了。

于此同時(shí),我去找了一下官方文檔的相關(guān)內(nèi)容:

https://developers.weixin.qq.com/miniprogram/dev/devtools/edit.html#TypeScript-%E6%94%AF%E6%8C%81

這里有提到配置編譯前的預(yù)置命令,于是點(diǎn)開之后看到了如下內(nèi)容:
在這里插入圖片描述
這個(gè)是官方給出的示例內(nèi)容,但是很微妙的是?我打開我的本地配置,emmmmmmmmmm好像在生成typescript小程序模版的時(shí)候就默認(rèn)給配置了這個(gè),但是保存的時(shí)候并沒有執(zhí)行~也就是說,保存自動(dòng)編譯的時(shí)候并沒有執(zhí)行這個(gè)。。

在這里插入圖片描述
阿!找到了官方解釋!實(shí)錘!和自己的猜測(cè)一模一樣!

在這里插入圖片描述

像我這樣的人可能就會(huì)動(dòng)態(tài)炸毛,因?yàn)閖s文件和ts文件同源,在寫代碼的時(shí)候萬一是改動(dòng)的js文件,觸發(fā)一個(gè)手動(dòng)編譯給搞沒了就很尷尬,特別是改動(dòng)較多較大,通過ctrl + z已經(jīng)無力回天的時(shí)候,簡直就是病喪中的病喪!!!

ps:好了,本來想自己折騰一下在自動(dòng)保存鉤子觸發(fā)執(zhí)行tsc,發(fā)現(xiàn)組里大佬已經(jīng)搞了一整套,后期可能會(huì)開源出來,所以這里就先告一段落。后期有機(jī)會(huì)會(huì)在這個(gè)地方放一下大佬的開源內(nèi)容。

相關(guān)案例查看更多