|---build |---pages.js文件目錄 |---src |---component子組件 |---pages |---業務頁面 |---store,vuex儲存 |---utils |---請求api.js |---format格式化插件,小程序中不能使用vue自帶的格式化只能手動修改後臺返回的時間戳,價格,訂單狀態等 |---request封裝fly進行請求響應攔截 |---wx.js
環境及依賴css
小程序開發過程遇到的問題html
轉h5實踐vue
小程序與h5須要替換的大概30%頁面渲染輕鬆,但組件替換須要花必定時間,比較複雜的包括如下vue項目經常使用部分,若是有一兩個vue項目相信早就操做過這些部分,替換這些組件也就改改業務邏輯,採用的ui框架是接近weui的vuxwebpack
wx這個對象咱們能夠結合router和vux封裝一下其中的navigateTo,redirectTo等路由及模態框和toast,並在webpack.base.conf配置wx指向該文件,這樣咱們就能直接使用wx這個對象面的方法不用修改ios
/*webpack.base.conf*/ resolve: { extensions: ['.js', '.vue', '.json'], alias: { 'vue$': 'vue/dist/vue.esm.js', '@': resolve('src'), 'wx': resolve('src/utils/wxSimulate.js') } }, /*模擬wx的本身寫的wxsimilate.js*/ import router from '../router' import Vue from 'vue' import { ConfirmPlugin, ToastPlugin } from 'vux' Vue.use(ConfirmPlugin) Vue.use(ToastPlugin) const wx = { navigateTo ({ url }) { console.log(url) router.push({ path: url }) }, redirectTo ({url}) { router.replace({ path: url }) }, navigateBack () { router.go(-1) }, showToast ({title}) { Vue.$vux.toast.show({ // 組件除show外的屬性 text: title }) }, // 模態框顯示 showModal ({title, content, success}) { Vue.$vux.confirm.show({ title, content, // 組件除show外的屬性 onConfirm () { success && success({confirm: true, cancel: false}) }, onCancel () { success && success({confirm: false, cancel: true}) } }) } } window.wx = wx export default wx
rpx採用less+flexible中@rpx代替,只須要把全部rpx換成@rpx便可,不懂的小夥伴能夠去看一下rem相關git
/*mpvue*/ <style scoped lang="less"> #index {padding:100rpx 20rpx 110rpx;} /*vue*/ <style scoped lang="less"> @charset "utf-8"; @rpx: 117.188rem; #index {padding:100/@rpx 20/@rpx 110/@rpx;}