美文网首页
gulp编译sass,es6,实现压缩和实时重载

gulp编译sass,es6,实现压缩和实时重载

作者: M_Events | 来源:发表于2018-11-02 16:33 被阅读32次
    目录结构
    +--node_modules
    +--public
    |  +--css
    |  +--sass
       |  +--index.scss
    |  +--es6
       |  +--index.js
    |  +--js
    +--index.html
    +--gulpfile.js
    +--package.json
    

    插件
    1.用于编译es6, 压缩js;
      gulp-babel,  @babel/preset-env,  @babel/core,  gulp-uglify
    2.用于编译sass, 压缩css,  自动补全浏览器前缀;
      gulp-sass,  gulp-clean-css,  gulp-autoprefixer
    3.实时重载;
      browser-sync
    

    gulpfile.js配置
    var gulp = require("gulp"), 
        sass = require("gulp-sass"),   
        browserSync = require("browser-sync"),    
        autoprefixer = require("gulp-autoprefixer"),    
        babel = require("gulp-babel"),    
        uglify = require("gulp-uglify"),  
        minifyCss = require("gulp-clean-css"),    
        reload = browserSync.reload;
    //sass编译
    gulp.task("sass", function() {    
      gulp.src("public/sass/*.scss")    
      .pipe(sass())    
      // 浏览器前缀补全    
      .pipe(autoprefixer({
        browsers: ["last 3 versions"],
        cascade: false
      }))
      // css压缩
      .pipe(minifyCss({
        keepSpecialComments: "*"
      }))
      .pipe(gulp.dest("public/css"))
      .pipe(reload({stream: true}))
    })
    //es6编译
    gulp.task("es6", function() {
      gulp.src("public/es6/*.js")
      .pipe(babel({
      //# Babel 7
      //npm install --save-dev gulp-babel @babel/core @babel/preset-env
      //# Babel 6
      //npm install --save-dev gulp-babel@7 babel-core babel-preset-env
        presets: ['@babel/env']
      }))
      //js压缩
      .pipe(uglify())
      .pipe(gulp.dest("public/js"))
    })
    gulp.task("server", ["sass", "es6"], function() {
      browserSync({
        server: {
          baseDir: "public"
        }
      })
      gulp.watch("public/sass/*.scss", ["sass"])
      gulp.watch("public/es6/*.js", ["es6"])
      gulp.watch("**/*.*", {cwd: "public"}, reload)
    })
    

    执行命令gulp server

    相关文章

      网友评论

          本文标题:gulp编译sass,es6,实现压缩和实时重载

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