没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论























详解如何在微信小程序中愉快地使用详解如何在微信小程序中愉快地使用sass
主要介绍了详解如何在微信小程序中愉快地使用sass,小编觉得挺不错的,现在分享给大家,也给大家做个参
考。一起跟随小编过来看看吧
前言前言
在微信小程序中,css是用wxss来表示,但写法基本一致。需要注意的是wxss扩展了两个特性,分别是:
尺寸单位
样式导入
具体可参考wxss,此处不做过多赘述。
为了方便打包sass,我们使用gulp来处理我们的scss文件,将其转换为wxss。
目录结构目录结构
在开发中,我们一般会有一个src源代码目录,一个dist目录用来输出我们打包的代码。而本次讲解用到的目录结构如下:
build目录用来配置我们的打包参数,目前里面只有一个config.js文件
dist目录为打包输出的目录,也是小程序运行的目录
gulpfile.js配置打包的任务
src就是我们的源代码目录
src的目录结构如下:
安装依赖安装依赖
yarn add gulp gulp-sass gulp-rename gulp-replace gulp-tap gulp-clean -D
gulp和gulp-sass为打包sass必须,gulp-rename则负责把scss后缀改为wxss,gulp-replace负责内容的替换(这个后面会讲
到),gulp-tap用来处理当前执行的文件,gulp-clean负责清除我们不需要的文件。
sass打包配置打包配置
gulp配置打包sass非常简单,代码如下:
const gulp = require('gulp');
const sass = require('gulp-sass');
const rename = require('gulp-rename');
gulp.task('sass', () => gulp.src('./src/**/*.{scss,wxss}')
.pipe(sass().on('error', sass.logError))
.pipe(rename({
extname: '.wxss'
}))
.pipe(gulp.dest('./dist'))
);
这样就可以完成了sass的配置,但是这样会有问题。前面讲到了wxss是支持样式导入的,也就是说import语法wxss是支持
的,但css不支持,因此sass打包会把import的文件打包到当前文件,从而导致当前文件的体积变大。由于微信限制单包代码
不能超过2M,因此当css越写越多的时候,这种打包方式势必会使样式文件越来越大。
解决解决import导入问题导入问题
那如何解决import的导入问题呢,其实也比较简单,说白了就是sass处理的时候,让其不处理import部分的语句就可以了。有
两种方式可以做到,第一种是改写sass处理的源码,当遇到import语句时跳过。第二种是,在把文件交给sass处理前,我们先
把import语句部分注释掉,这样sass处理的时候就会忽略了,当sass处理完成后,再把注释掉的语句打开即可。显然第一种成
本比较高,也不好维护。我们采用第二种,代码如下:
const gulp = require('gulp');
const sass = require('gulp-sass');
const replace = require('gulp-replace');
const rename = require('gulp-rename');
const clean = require('gulp-clean');
const tap = require('gulp-tap');
const path = require('path');
const config = require('./build/config');
资源评论


weixin_38718307
- 粉丝: 8
- 资源: 858
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
