Vue3中postcss-pxtorem的安装和配置

1,845 阅读1分钟

1.首先,我们需要保证项目是使用vue-cli搭建的,vue-cli内部使用了PostCss,可以直接安装postcss-pxtorem,如果是使用vite搭建的项目请自行安装PostCss并配置

2.使用命令行安装npm i postcss-pxtorem@5.1.1(此处降版本安装,5.1.1版本后会报错)

3.编写rem.js文件,并在main.ts中进行引用

// 设置 rem 函数
function setRem () {
	// 基准大小,一般为设计稿宽度的1/10或1/20,以此来计算页面的总rem,例如此处页面的总宽度为750/32rem
	const baseSize = 32
	// 缩放,此处分母填写的750为设计稿宽度
	const scale = document.documentElement.clientWidth / 750;
  // 设置页面根节点字体大小
  document.documentElement.style.fontSize = (baseSize * Math.min(scale, 2)) + 'px'
}
// 初始化
setRem()
// 改变窗口大小时重新设置 rem
window.addEventListener('resize', () => setRem());
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import './utils/rem.js'

createApp(App).use(store).use(router).mount('#app')

4.在根目录下编写postcss.config.js

module.exports = {
  plugins: {
    autoprefixer: {},
    'postcss-pxtorem': {
      rootValue: 32, // 与rem.js下的baseSize保持一致
      selectorBlackList: ['.van', 'van-'], // 要忽略的选择器并保留为px。
      minPixelValue: 2, // 设置要替换的最小像素值。
      propList: ['*'] // 需要做转化处理的属性,如`hight`、`width`、`margin`等,`*`表示全部
    }
  }
};

之后在页面中就可以根据设计稿上的px对应大小进行编写。