微信小程序使用了第三方组件库(例如: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
3、在微信小程序开发工具中构建npm
4、构建成功后会出现miniprogram_npm文件夹
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,大功告成!!!
欢迎关注前端早茶,与广东靓仔携手共同进阶
前端早茶专注前端,一起结伴同行,紧跟业界发展步伐~