vue 開(kāi)發(fā)移動(dòng)端項(xiàng)目依賴:
一:移動(dòng)端布局適配:
? ??amfe-flexible/index :安裝依賴沟启,mian.js導(dǎo)入? import 'amfe-flexible/index' // 移動(dòng)端適配
? ? ?postcss-pxtorem : vue.config.js 配置:
module.exports = {css: {loaderOptions: {postcss: {plugins: [require('postcss-pxtorem')({rootValue:37.5,propList: ['*']})]}}}}?
注: 基準(zhǔn)值設(shè)置為37.5,設(shè)計(jì)稿按照375*667 設(shè)計(jì)庵芭,代碼中單位寫(xiě)直接寫(xiě)設(shè)計(jì)稿中的px值就行
? ? meta 標(biāo)簽設(shè)置
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0,viewport-fit=cover,user-scale=no">
二:組件庫(kù)
組件庫(kù)選擇vant,cube雀监,按需導(dǎo)入組件樣式
vant組件庫(kù)為例:
安裝:babel-plugin-import?新建babel.config.js:
?module.exports = { presets: [ '@vue/cli-plugin-babel/preset' ], plugins: [ ['import', { libraryName: 'vant', libraryDirectory: 'es', style: true }, 'vant']]}
三:fastClick
安裝fastclick依賴
main.js 引入
import FastClick from 'fastclick'
FastClick.attach(document.body)
四:國(guó)際化
安裝vue-i18n依賴
新建plugin文件夾双吆,新建語(yǔ)言JSON文件?
main.js 引入
import VueI18n from 'vue-i18n'
const i18n = new VueI18n({ locale: 'chi', // 語(yǔ)言標(biāo)識(shí) messages: { chi: require('@/plugins/chi.json'), eng: require('@/plugins/eng.json') }})
五:better-scroll 處理移動(dòng)端滾動(dòng)
安裝better-scroll 依賴
封裝better-scroll組件
注意:父元素的高度要小于子元素的高度才能產(chǎn)生滾動(dòng),父元素要相對(duì)定位会前,子元素要絕對(duì)定位好乐,子元素有且僅有一個(gè),防止事件冒泡(用于子元素滑動(dòng)引起父元素外層元素滑動(dòng)瓦宜,例如輪播圖中嵌套better-scroll)在new better-scroll中配置:stopPropagation: true,
六:關(guān)于優(yōu)化:
圖片異步懶加載蔚万,vue-lazyload
幽靈圖
cdn
服務(wù)器渲染(nuxt,但是工作量大)
路由異步加載
歉提。笛坦。。慢慢補(bǔ)充
七: