關於小程序的腳手架選擇,這塊我以爲有必要說一句,前端小程序框架多,如Taro,uni-app,wepy,mpvue等等,或者最近滴滴又出了一個框架Chameleon,我是以爲不要把過多的時間用在框架上,稍微知道一下原理就好了,千萬不要爲了學而學,前端天花板沒那麼高,我我的認爲就是太雜。找準本身的核心。專精就行了。這是我本身的一個小想法javascript
小程序-商城類思路開拓php
分享一個cli(看我的習慣用js仍是ts)css
連接地址html
直接說重點吧,若是有問題在下方留言,先後端一塊兒加速,才能讓頁面更快前端
通過分包的處理,初次加載只有主包內容,那麼逐步排查主包的頁面加載狀況,可是有一個前提條件須要注意,微信開發者工具畢竟不一樣於微信的宿主環境,雙方加載速度確定不同,因此微信開發者工具快不表明宿主環境快。vue
let $ajax = {
header: {
"content-type": "application/json"
},
get: function(param) {
return this.methods("GET", param);
},
post: function(param) {
return this.methods("POST", param);
},
methods: function(type = "GET", param = {}) {
const token=wx.getStorageSync('token');
token===undefined?wx.navigateTo({
url:'/login'
}):""
return new Promise((resolve, reject) => {
wx.request({
url: "test.php", //僅爲示例,並不是真實的接口地址
data: param,
header: this.header,
success(res) {
resolve(res);
},
fail(err) {
reject(err);
}
});
});
}
};
}
複製代碼
我用的最多就是節流函數,通常在頁面滾動scroll, 按鈕反覆點擊(若是網絡比較慢,反覆點擊會發現從A->B頁面時進入了兩次)java
好比5秒內,不管你怎麼觸發,都不會執行,原理利用了定時器Timeout。webpack
說白了就是延遲函數。即觸發以後當即執行,5秒後再執行git
1.反覆setData一個很大的數組不是一件好事,會重繪github
若是隻修改單條數據
let obj={
name:'張三',
age:'23',
gender:'男'
}
let userList=[{
userName:'小明'
},{
userName:'小王'
}]
//數組
this.setData({
'userList[0].userName':value
})
//對象
this.setData({
'obj.gender':value
})
複製代碼
滾動底部加載分頁數據,優化一次性setData數據過多的狀況
理由:小程序有數據限制,一次性setData太多數據否則會涼涼,固然這是考慮大佬們的公司數據特多的時候,通常狀況仍是沒問題的。
//場景以下:此時已經加載了兩頁數據即兩個數組userList
let userList=[[{a:2}],[b:2]] //目前所存
let page=3; //
let data=[{a:3}] //是後臺返回第三頁的數組
this.setData({
['userList[' + (page - 1) + ']']: data
})
複製代碼
1.前端一些小icon圖片壓縮,其他用cdn服務器
2.微信也提供了API 監聽wxml的位置是否出如今界面上,API我就放到這了,大概的做用就是監聽wxml是否在用戶顯示區域,若是不在 就能夠不加載看不見的圖片(最好用Proomise和匿名函數封裝一下再用)
這點應該不止在小程序,在Vue,React中都有體現,Key是有做用的,若是不是頗有用的數據用index作key沒啥問題,若是不是,首先用key,由於index是會改變的,本來緩存的數據會由於key值的改變致使重繪,消耗了小程序的性能
分包加載對於大型小程序來講能夠算的上是福音,原理官方都有,我也不囉嗦了直接貼地址,這裏我主要講一下步驟和使用分包好處
好處就是快,小程序顧名思義就是快,還有一個最大的好處,能夠擴容,讓你的小程序能夠放入更多的代碼
若是選擇其中去分包,建議就至始至終就用這種方式,由於若是根據邏輯和頁面兩種並行。。不咋的好維護
修改收貨地址,這個通常不是對這個平臺很感興趣,不多會用到,因此這個邏輯及頁面扔進packageA分包中,等真正到了這個環節再去加載這個頁面以及相應的邏輯.
修改用戶資料 這一塊我以如今火熱的CPS項目(幫拼多多,淘寶等大型電商分銷)打個比方,當用戶進入到你的小程序時,最重要就是快,CPS最重要是幫助用戶解決拿到優惠券而後轉到各種大型平臺身上,因此這種使用頻率不高,可是大部分電商會保留的系列頁面直接扔到packageB上