字体适配问题postcss-px2rem

412 阅读1分钟

1.安装postcss-px2rem

npm install postcss-px2rem px2rem-loader --save

2.在vue.config.js

// 引入等比适配插件
const px2rem = require('postcss-px2rem')

// 配置基本大小
const postcss = px2rem({
  // 基准大小 baseSize,需要和rem.js中相同
  remUnit: 14
})
module.exports = {
  css: {
    loaderOptions: {
      sass: {
        prependData: `
          @import "@/assets/styles/color.scss";
        `
      },
      postcss: {
        plugins: [postcss]
      }
    }
  },
  outputDir: 'dist', // build输出目录 ,默认dist
  publicPath: './',
  lintOnSave: false, // 是否开启eslint 
  devServer: {
    open: true, // 是否自动弹出浏览器页面    
    host: '0.0.0.0', //主机,0.0.0.0支持局域网地址,可以真机测试
    port: '8080',
    https: false, // 是否使用https协议  
    hotOnly: false, // 是否开启热更新   
    proxy: {
      // 配置跨域
      '/api': {
        target: 'http://vueshop.glbuys.com/api', //接口地址
        ws: true, //// 代理websockets 
        changOrigin: true, // 虚拟的站点需要更管origin 
        pathRewrite: {
          '^/api': ''
        }
      }
    }
  },
}

rem.js

// rem等比适配配置文件
// 基准大小
const baseSize = 14
// 设置 rem 函数
function setRem() {
  // 当前页面宽度相对于 1920宽的缩放比例,可根据自己需要修改。
  const scale = document.documentElement.clientWidth / 1920
  // 设置页面根节点字体大小(“Math.min(scale, 2)” 指最高放大比例为2,可根据实际业务需求调整)
  document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) + 'px'
}
// 初始化
setRem()
// 改变窗口大小时重新设置 rem
window.onresize = function() {
  setRem()
}

把rem.js引入main.js中

import '@/utils/rem'