1. 程式人生 > >vue:手機端適配

vue:手機端適配

  • 下載lib-flexible
npm i lib-flexible --save
  • 在main.js中引入lib-flexible
import 'lib-flexible/flexible'
  • 檢視index.js有沒有新增meta標籤
<meta name="viewport" content="width=device-width,initial-scale=1.0">
//注意這兩個的區別,建議新增下面的meta,反正點選輸入框,頁面自動縮放
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
>
  • 安裝px2rem-loader
npm install px2rem-loader
  • 在build檔案中找到util.js,將px2rem-loader新增到cssLoaders中
const cssLoader = {
    loader: 'css-loader',
    options: {
      minimize: process.env.NODE_ENV === 'production',
      sourceMap: options.sourceMap
    }
  }
  const px2remLoader = {
    loader: 'px2rem-loader'
, options: { //一般設定75 remUnit: 35 } }
  • 同時,在generateLoaders方法中新增px2remLoader
 // generate loader string to be used with extract text plugin

  function generateLoaders(loader, loaderOptions) {
    const loaders = options.usePostCSS ? [cssLoader, postcssLoader,px2remLoader] : [cssLoader,px2remLoader]

    if
(loader) { loaders.push({ loader: loader + '-loader', options: Object.assign({}, loaderOptions, { sourceMap: options.sourceMap }) }) } // Extract CSS when that option is specified // (which is the case during production build) if (options.extract) { return ExtractTextPlugin.extract({ use: loaders, fallback: 'vue-style-loader' }) } else { return ['vue-style-loader'].concat(loaders) } }

這裡寫圖片描述

  • npm run dev重新執行