1. 程式人生 > >vue-cli3+vant ui元件快速開發自適應移動端應用

vue-cli3+vant ui元件快速開發自適應移動端應用

當我建好VUE-CLI3的腳手架之後,我們來接著選擇一個合適的UI框架來進行實戰開發,還不會搭建?---> 點選

https://youzan.github.io/vant/#/zh-CN/quickstart    這個的英文VANT的開發文件,感覺在移動端算是功能還算不錯的一個UI框架,功能性的東西挺多的,而且也支援國際化。

一般情況下如果全部應用CDN或者直接全域性使用,直接根據文件就行,我這裡重點講一下這個UI的框架按需引入以及REM適配(官網也有提到,只不過有點模糊,新手入門要研究一會,我只是闡述重點,以提高效率),下面開始:

第一步不用說照著官網進行安裝,NPM或者是yarn,都是可以的

npm i vant -S

or

yarn and vant

安裝之後

我們在babel.config.js中進行配置外掛:

module.exports = {
  presets: [
    '@vue/app'
  ],
  plugins: [
    ['import', {
      libraryName: 'vant',
      libraryDirectory: 'es',
      style: true
    }, 'vant']
  ]
}

這樣就可以直接使用了,我這裡在main.js中做下示範:

LS(按鈕和彈窗元件):

import Vue from 'vue'
import { Button,Popup } from 'vant';
Vue.use(Button).use(Popup);

結構中:

<van-popup v-model="show" position="top" :overlay="true">
<van-button disabled type="primary">禁用狀態</van-button>

其實看到這,沒什麼難度,主要注意外掛的配置的位置寫法就行了,但是這個ui庫的單位都是以px為單位的,在移動端適配都有點麻煩了,既然是移動端肯定有解決方案的嘛,按照官方的說法需要我們去在裝兩個外掛(PS:這兩個外掛平時都可以用,能直接把PX轉成對應的REM佈局,也挺方便的):

npm i postcss-pxtorem -S
npm i amfe-flexible -S

然後繼續,根據VUE-CLI3提供的新配置方法,在VUE-config.js中對CSS做配置:

const autoprefixer = require('autoprefixer');
const pxtorem = require('postcss-pxtorem');
module.exports = {
    css:{
      // modules:false,
      // extract:true,
      sourceMap:false,
      loaderOptions: {
        postcss: {
          plugins: [
            autoprefixer(),
            pxtorem({
              rootValue: 75.0,
              propList: ['*']
            })
          ]
        }
      }
    }
}

這段配置就算是css的預載入配置,rootValue  75.0的值其實就是代表ui設計稿的750px的畫素,引用的時候css直接寫寬750px就相當於100%,它會自動根據螢幕進行計算成rem,無需對原測量值進行REM的換算。

只配置這一個還不夠,只做到這一步是沒法自適應的,因為它本身沒有對html的font-size進行計算,基本不會變化,我們找到入口檔案main.js,引入以下程式碼即可:

import 'amfe-flexible';

這樣就能實現該UI框架的REM自適應了,而且全域性也不用去配置REM的佈局,直接安照UI設計稿750px寫畫素單位。開發更加高效。