免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
小程序?qū)嵱每蚣苤甒ePY篇

作者:極鏈科技前端Team 凌福喆

一.WePY 是什么?

前端開發(fā)者肯定Vue.js Webpack 這兩個(gè)開源項(xiàng)目非常熟悉。Web App H5 發(fā)過程中,我常常將 Vue.js 用作核心,用Webpack 做模化打包,其能運(yùn)行于瀏覽器端。那么 WePY 是什么西呢?我可以把WePY 理解成 Web 端的 Vue.js Webpack 結(jié)合體,它能過編譯手段運(yùn)行在小程序端,并且可以使用 Vue.js 的一些法和特性。

二.WePY 的功能與特點(diǎn)

首先我們先說說原生小程序開發(fā)中的痛點(diǎn)

1) 頻繁調(diào)用 setData及 setData過程中頁面跳閃

2) 組件化支持能力太弱(幾乎沒有)

3) 不能使用 less、jade 

4) 無法使用 NPM 包及 ES 高級語法

5) request 并發(fā)次數(shù)限制

  6) 一個(gè)頁面對應(yīng)4個(gè)文件,看的眼花繚亂

WePY相比于小程序,主要優(yōu)點(diǎn)如下:

1、開發(fā)模式容易轉(zhuǎn)換 wepy在原有的小程序的開發(fā)模式下進(jìn)行再次封裝,更近于現(xiàn)MVVM框架開發(fā)模式。框架在開發(fā)過程中參考了 一些現(xiàn)在框架的一些特性,并且融入其中,以下是使用wepy前后的代碼對

      官方DEMO代碼:

   

      基于wepy的實(shí)現(xiàn):

   

2. 真正的件化開發(fā) 小程序然有標(biāo)簽可以實(shí)現(xiàn)組件復(fù)用,但僅限于模板片段層面的復(fù)用,業(yè)務(wù)代碼與交互事件 仍需在理。無法實(shí)現(xiàn)組件化的松耦合與復(fù)用的效果。

      wepy組件示例

3.支持加外部NPM 小程序大的缺陷是不支持NPM包,導(dǎo)致無法直接使用大量優(yōu)秀的開源內(nèi)容,wepy編譯過程當(dāng)中,會(huì)遞歸 中的require然后將對應(yīng)文件從node_modules當(dāng)中拷出來,并且修改require為相對路徑, 從而實(shí)現(xiàn)對外部NPM包的支持。

4.單文件模式,使得目錄結(jié)構(gòu)更加清晰 小程序官方目錄結(jié)構(gòu)要求app必須有三個(gè)文件app.json,app.js,app.wxss,頁面有4個(gè)文件 index.json,index.js,index.wxml,index.wxss。而且文 件必須同名。 所以使用wepy開發(fā)前后開發(fā)目錄對比如下:

5.默認(rèn)使用babel編譯,支持ES6/7的一些新特性。

6.wepy支持使用less默認(rèn)開啟使用了一些新的特性如promise,async/await等等

三.WePY 開發(fā)總結(jié)

1. 自定義 interceptor

      創(chuàng)建 network 文件夾 新建 interceptor.js

       

新建 index.js

最后在 app.wpy中引入req

2. request 加入失敗重試

創(chuàng)建 retry.js

修改 network 下index.js

3. repeat標(biāo)簽嵌套兩級以及以上組件傳值給自組件傳值問題

這個(gè)問題其實(shí)是wepy的一個(gè)bug,在github上已經(jīng)有好多人提過Issues,官方并沒有給出解釋,經(jīng)過自己的摸索,有兩種解決方式:

1.     對于純組件用小程序原生的模板template代替

       子組件中第二層循環(huán)采用此寫法,直接使用template

   

在主頁面中引入此模板

wepy最終會(huì)把所引用的組件代碼,都打包到一個(gè)主頁面中的,所以在主頁面引入模板即可

2.     第一種方法可以解決個(gè)問題,并且還節(jié)省了代量,但屬于wepy和原生小程序混寫,后面又發(fā)現(xiàn)另一種解決

       對于第二層循環(huán)要傳的值,用repeat標(biāo)簽包裹一層

      

4. 小程序開發(fā)工具變慢

在開發(fā)過程城中,隨著項(xiàng)目文件的越來越大,會(huì)發(fā)現(xiàn)小程序的開發(fā)工具越來越慢,甚至一個(gè)跳轉(zhuǎn)都要等幾秒才能跳轉(zhuǎn)過去,個(gè)時(shí)候需要把小程序打包出來的文件dist文件夾刪掉,然后重新打包,會(huì)快很多,wepy也提供了命令,直接運(yùn)行 npm runclean 也能達(dá)到同的效果。

5. 小程序在手機(jī)上預(yù)覽,出現(xiàn)卡頓現(xiàn)象

現(xiàn)這種情況有多方面的原因,如果你之前用原生小程序開發(fā)過項(xiàng)目,那么直接點(diǎn)發(fā)工具上的預(yù)覽,然后用手機(jī)掃碼預(yù)覽是一個(gè)常的操作,但是在使用wepy過程中,你使用npm run dev命令后,是出于開發(fā)環(huán)境,dist文件中的代并沒有進(jìn)壓縮,優(yōu)化,所以手機(jī)預(yù)覽時(shí)候會(huì)得很慢,運(yùn)行 npm runbuild打成生產(chǎn)預(yù)覽,可以解決。

6. 個(gè)別手機(jī)樣式錯(cuò)亂

安裝 autoprefixer 即可

7. mixin

wepy的mixin,與vue中的mixin執(zhí)行順序相反

  • wepy中,會(huì)先執(zhí)件自身的,再執(zhí)mixin中的

  • vue子函數(shù),會(huì)先執(zhí)mixin中的,再執(zhí)件自身的;vuemethods如果和mixin同名,那么只會(huì)執(zhí)行自身的方法

以上是wepy的簡要介紹,有興趣的朋友可以閱讀源碼。 綜合來講,wepy的核心在于編譯環(huán)節(jié),能夠?qū)?yōu)雅簡潔的類似VUE風(fēng)格的代碼,編譯成微信小程序所需要的繁雜代碼。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
全網(wǎng)首發(fā)mpvue課程,小程序全棧開發(fā)
強(qiáng)烈推薦:絕對是最好的一個(gè)小程序開源框架
第7章 小程序開發(fā)框架
5分鐘學(xué)會(huì)小程序開發(fā)
微信小程序開源項(xiàng)目資源大全,強(qiáng)烈推薦!
跨端開發(fā)框架深度橫評
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服