移动端项目总结

2022-01-11  本文已影响0人  autumn_3d55

1.创建项目

vue create projectName

2.清除浏览器默认格式

@import './normalize.css'

3.配置rem, px自动转换rem

cnpm i postcss-pxtorem lib-flexible --save-dev

postcss.config.js

module.exports = {
  plugins: {
    autoprefixer: {
      overrideBrowserslist: ['Android >= 4.0', 'iOS >= 8'],
    },
    'postcss-pxtorem': {
      rootValue: 37.5,
      propList: ['*']
    },
  }
}
//移动端适配 px自动转rem
import 'lib-flexible/flexible'

4.使用 vant ui 组件库

vant ui 官网 : https://vant-contrib.gitee.io/vant/#/zh-CN/home

cnpm i vant -S
npm babel-plugin-import --save-dev

babel.config.js

module.exports = {
  presets: [
    '@vue/cli-plugin-babel/preset'
  ],
  plugins: [
    ['import', {
      libraryName: 'vant',
      libraryDirectory: 'es',
      style: true
    }, 'vant'],
  ]
}

plugins.js (用到哪个组件导入哪个组件)

import Vue from 'vue'

// 按需引入组件
import {  button } from 'vant'

// 挂载组件到vue示例中
Vue.use(button)
//引入vant ui 组件库
import './plugins/plugin'

5.配置别名

module.exports = {
  //配置别名
  configureWebpack: {
    resolve: {
      alias: {
        "src":"@",
        'views': '@/views',
        'components': '@/components',
        'network': '@/network',
        'common': '@/common',
        'assets': '@/assets',
        'store': '@/store',
      }
    }
  },
}

例如引入assets/images/tabBar/home_act.png

正常写法:../../assets/images/tabBar/home_act.png
别名写法:@/assets/images/tabBar/home_act.png

需要这样写

data(){
return {
      itemList: [
        {
          path: "/home",
          activeImg: require("@/assets/images/tabBar/home_act.png"),
          img: require("@/assets/images/tabBar/home.png"),
          content: "首页",
        }
       ]
  }
  
  //使用
  <img slot="item-icon" :src="list.img" alt />

6.路由懒加载

用到时才会加载,运行时加载

  1. 第一种写法
const Home = ()=>import('../views/home/Home')
const routes = [
  {
    path: '/',
    component: Home,
    redirect: '/home'
  },
 ]
  1. 第二种写法
const routes = [
  {
    path: '/',
      component: ()=>import('../views/home/Home'),
    redirect: '/home'
  },
 ]
  1. 第三种写法
const routes = [
  {
    path: '/',
      component: (resolve)=>require(['../views/home/Home'],resolve),
    redirect: '/home'
  },
 ]

7.使用svg方式引入阿里icon图标库

iconfont.js

!function(t){var e,n,c,i,o,l='<svg><symbol id="icon-weixin" viewBox="0 0 1024 1024">.....
/* 引入阿里图标库 */
//import './assets/iconfont/iconfont.css'
import './assets/iconfont/iconfont.js'

解释:#icon-weixin 对象阿里图标库里面的代码名字

        <div class="icon">
        <svg class="svg-icon" aria-hidden="true">
          <use xlink:href = '#icon-weixin' />
        </svg>
        <svg class="svg-icon" aria-hidden="true">
          <use xlink:href = '#icon-qq' />
        </svg>
     </div>
.svg-icon {
  width: 36px;
  height: 36px;
  vertical-align: -0.15em;
  fill: currentColor;
  overflow: hidden;
}
上一篇下一篇

猜你喜欢

热点阅读