微信小程序Vant组件px转rpx

1,818 阅读1分钟

背景


微信小程序使用了第三方组件库(例如:Vant)时,组件默认样式是使用的px,这无法和我们页面中的rpx单位相兼容。

技术方案


1.gulp

2.gulp-postcss

3.postcss-px2units

实现步骤

  1. 初始化并安装
npm init //一路回车 
npm install --production 
npm i @vant/weapp -S --production
  1. 在微信小程序开发工具中勾选npm

image.png

  1. 在微信小程序开发工具中构建npm

image.png

  1. 构建成功后会出现miniprogram_npm文件夹

image.png

  1. 安装npm包
npm install gulp gulp-postcss postcss-px2units --save-dev
  1. 在根目录新建gulpfile.js文件
var gulp = require('gulp');
var postcss = require('gulp-postcss');
var pxtounits =  require('postcss-px2units');

gulp.task('css', function () {
  return gulp.src(['miniprogram_npm/@vant/weapp/**/*.wxss'])
    .pipe(postcss([pxtounits({
      multiple: 2,
      targetUnits: 'rpx'
    })]))
    .pipe(gulp.dest('miniprogram_npm/@vant/weapp/'));
});
  1. 在package.json下面的scripts添加一个执行命令
 "scripts": {
    "build": "gulp css",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  1. 命令行中执行
npm run build
  1. 查看转换后的wxss文件

image.png

就此已经将px转化成了rpx,大功告成!!!