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


技术方案

1.gulp


2.gulp-postcss


3.postcss-px2units


实现步骤

1、初始化并安装

npm init //一路回车

npm install --production

npm i @vant/weapp -S --production

2、在微信小程序开发工具中勾选npm

小程序Vant组件px转为rpx_gulp

3、在微信小程序开发工具中构建npm

小程序Vant组件px转为rpx_微信小程序_02

4、构建成功后会出现miniprogram_npm文件夹

小程序Vant组件px转为rpx_gulp_03


5、安装npm包


npm install gulp gulp-postcss postcss-px2units --save-dev

6、在根目录新建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/'));

});


7、在package.json下面的scripts添加一个执行命令


"scripts": {

"build": "gulp css",

"test": "echo \"Error: no test specified\" && exit 1"

},

8、命令行中执行

npm run build


9、查看转换后的wxss文件



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



欢迎关注前端早茶,与广东靓仔携手共同进阶

小程序Vant组件px转为rpx_gulp_04

前端早茶专注前端,一起结伴同行,紧跟业界发展步伐~