美文网首页
在微信小程序中使用gulp+less对wxss进行构建

在微信小程序中使用gulp+less对wxss进行构建

作者: 千茉紫依 | 来源:发表于2019-03-20 16:22 被阅读0次

    微信小程序使用的是wxss而非css,它引入了rpx来解决不同设备尺寸差异的问题,可以很好地适配不同的手机尺寸,但同样具有css无法运算、嵌套和定义变量的问题,所以我使用了gulp+less对wxss进行构建,详细配置如下:

    
     var gulp = require('gulp'); // 载入Gulp模块
     var less = require('gulp-less'); // 载入gulp-less模块
     var autoprefixer = require('gulp-autoprefixer');//兼容浏览器
     var cssnano = require('gulp-cssnano'); //css优化分离
     var browserSync = require('browser-sync');//热刷新服务器
     var reload = browserSync.reload;
     
     // LESS编译 压缩 
     gulp.task('less', function() {
       gulp.src(['src/css/*.less', '!src/css/_*.less'])
         //less中使用@import url('_a.less') 不进行编译
         .pipe(less())
         .pipe(autoprefixer({
           browsers: ['last 2 versions']
         }))
         .pipe(cssnano())
         .pipe(gulp.dest('dist/css'))
         .pipe(reload({
           stream: true
         }));
     });
     
     var concat = require('gulp-concat');
     var uglify = require('gulp-uglify');
     var babel=require('gulp-babel')
     var browserify=require('gulp-browserify')
     
     // JS合并 压缩混淆
     gulp.task('js', function() {
       gulp.src('src/js/*.js')
         .pipe(concat('app.js'))// JS合并
             .pipe(babel()) //使用es6,加此项
             .pipe(browserify({ //浏览器中兼容require等,使用async时使用
                 insertGlobals: true
             }))
         .pipe(uglify())// JS压缩混淆
         .pipe(gulp.dest('dist/js'))
         .pipe(reload({ //热更新
           stream: true
         }));
     });
     
     // 图片复制
     gulp.task('pic', function() {
       gulp.src('src/pic/*.*')
         .pipe(gulp.dest('dist/pic'))
         .pipe(reload({
           stream: true
         }));
     })
     
     var htmlmin = require('gulp-htmlmin');
     // HTML 压缩
     gulp.task('html', function() {
       gulp.src('src/*.html')
         .pipe(htmlmin({
           collapseWhitespace: true,  
           collapseBooleanAttributes: true,
           removeAttributeQuotes: true,
           removeComments: true,
           removeEmptyAttributes: true,
           removeScriptTypeAttributes: true,
           removeStyleLinkTypeAttributes: true,
         }))
         .pipe(gulp.dest('dist'))
         .pipe(reload({
           stream: true
         }));
     });
    
     //将serve分解成四个任务
     gulp.task('serve', ['less', 'js', 'pic', 'html'], function() {  
       browserSync({
         notify: false,
         port: 3003,
         server: {
           baseDir: ['dist']
         }
       },function (err, bs) {
             console.log(bs.options.getIn(["urls", "local"]));
         });
     
      //监视更改,热更新
       gulp.watch('src/css/*.less', ['less']);
       gulp.watch('src/js/*.js', ['js']);
       gulp.watch('src/pic/*.*', ['pic']);
       gulp.watch('src/*.html', ['html']);
     });
     
     
     gulp.task('default',['serve']); //设置gulp快捷方式
    

    相关文章

      网友评论

          本文标题:在微信小程序中使用gulp+less对wxss进行构建

          本文链接:https://www.haomeiwen.com/subject/qkhtvqtx.html