概述
-
基礎環境:
-
開發:跟普通的vue單頁應用開發方式一致。
-
除錯:
-
開發環境下,可以藉助chrome進行除錯,需要注意的是,如果涉及到微信驗證的介面,要手動在sessionStorage中注入 wx_info類似的驗證,具體的wx_info配置可以詢問後端開發人員
-
如果要進行真實賬號測試或者是生產環境下,可以通過微信開發者工具進行除錯,除錯方式跟chrome類似。
-
vuex的除錯,請先科學上網,然後在chrome擴充工具裡搜尋安裝 Vue.js devtools ,安裝完成後開啟開發者工具,在最右側vue欄裡進行vuex除錯。
-
具體使用
路由管理
-
採用樹形結構管理路由
-
每一個大模組單獨設定一個路由,再彙總到總路由檔案
const Demo=() => import(/* webpackChunkName: "demo-page" */ '@views/demo/index')
const DemoDetail =() => import(/* webpackChunkName: "demo-page" */ '@views/demo/detail/index')
const DEMO_ROUTERS =[
{
path: '/demo',
name: '訂單1',
component: Demo,
meta: {requireAuth: false,index:1},
},
{
path: '/detail',
name: '訂單詳情',
component: DemoDetail,
meta: {requireAuth: false,index:2},
},
]
export default DEMO_ROUTERS
複製程式碼
-
如果該模組較為複雜,頁面很多,可以視情況再細分路由。
-
結合 Vue 的非同步元件和 Webpack 的程式碼分割功能,實現路由元件的懶載入
serve管理
-
serve 下的 base.js用於全域性配置api請求的域名或者ip地址等
可以快速的切換測試環境和生產環境
const base = {
dv:'http://test', // 測試環境
pr: 'http://prodect', // 生產環境
mock:' https://easy-mock.com/mock/5cb4762ae14be30f81aee1a6/mock' // mock環境
}
export default base;
複製程式碼
-
推薦一個好用的線上生成前端mock資料的網站,easy-mock
-
serve下的 http.js 用於封裝axios
如果是微信公眾號的專案,需要token驗證,在此處配置token的獲取,並且新增到請求頭
資料管理
-
簡單專案無需使用vuex,反而加重專案
-
資料互動較多,難以管理時,使用vuex提高效率
按照 store 下的demo 這個module作為參考,分模組編寫。
-
已經整合了vuex資料持久化外掛,預設為所有state資料都存入session
如果要更改儲存位置,或者希望區域性存入,自行修改plugin配置,配置方法vuex-persistedstate
自適應方案(rem+vw)
-
參考凹凸實驗室發表一篇的佈局方案 利用視口單位實現適配佈局
-
在static/style/global下配置
// 主題色配置
$theme-color:#4fc08d;
// rem 單位換算:定為 75px 只是方便運算,750px-75px、640-64px、1080px-108px,如此類推
$vw_fontsize: 75; // iPhone 6尺寸的根元素大小基準值
@function rem($px) {
@return ($px / $vw_fontsize ) * 1rem;
}
// 根元素大小使用 vw 單位
$vw_design: 750;
html {
font-size: ($vw_fontsize / ($vw_design / 2)) * 100vw;
// 同時,通過Media Queries 限制根元素最大最小值
@media screen and (max-width: 300px) {
font-size: 64px;
}
@media screen and (min-width: 750px) {
font-size: 108px;
}
}
// body 也增加最大最小寬度限制,避免預設100%寬度的 block 元素跟隨 body 而過大過小
body {
max-width: 750px;
min-width: 300px;
}
複製程式碼
-
預設配置以750作為設計稿基準
-
同時可以配置最大最小適配範圍
上述功能都整合在view/demo專案裡,可以參考demo具體瞭解
開發優化
-
alias:在vue.config檢視alias 路徑,自行新增或者修改
-
mixins: 已經全域性配置,在static 下的mixin 進行樣式函式的編寫
使用者體驗
-
使用路由懶載入,提高載入速度
-
全域性動態配置了路由切換動畫,為了正確顯示切換動畫,在配置路由時一定要寫明路由層級,切換動畫時會根據層級比較作為判斷
結語
沒啥乾貨,權當服務一下前端初學者和伸手黨,同時把自己不成熟的框架拿出來供大家檢閱,發現不足之處。
專案地址
如果有幫助到您,厚著臉皮希望給個小星星