vue 开发移动端项目依赖:
一:移动端布局适配:
amfe-flexible/index :安装依赖,mian.js导入 import 'amfe-flexible/index' // 移动端适配
postcss-pxtorem : vue.config.js 配置:
module.exports = {css: {loaderOptions: {postcss: {plugins: [require('postcss-pxtorem')({rootValue:37.5,propList: ['*']})]}}}}
注: 基准值设置为37.5,设计稿按照375*667 设计,代码中单位写直接写设计稿中的px值就行
meta 标签设置
<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">
二:组件库
组件库选择vant,cube,按需导入组件样式
vant组件库为例:
安装: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)
四:国际化
安装vue-i18n依赖
新建plugin文件夹,新建语言JSON文件
main.js 引入
import VueI18n from 'vue-i18n'
const i18n = new VueI18n({ locale: 'chi', // 语言标识 messages: { chi: require('@/plugins/chi.json'), eng: require('@/plugins/eng.json') }})
五:better-scroll 处理移动端滚动
安装better-scroll 依赖
封装better-scroll组件
注意:父元素的高度要小于子元素的高度才能产生滚动,父元素要相对定位,子元素要绝对定位,子元素有且仅有一个,防止事件冒泡(用于子元素滑动引起父元素外层元素滑动,例如轮播图中嵌套better-scroll)在new better-scroll中配置:stopPropagation: true,
六:关于优化:
图片异步懒加载,vue-lazyload
幽灵图
cdn
服务器渲染(nuxt,但是工作量大)
路由异步加载
。。。慢慢补充
七: