0

更新#1:澄清的问题


问题

  • all.js当管道进入 dist 文件夹时工作,uglified 然后重命名为all.min.js
  • 但是,我试图在all.js没有 Gulp concat 的情况下进入 assets/dev/js 并添加两个文件countup.jsscripts.js两次,然后将缩小版本all.min.js添加到 assets/dist

gulpfile.js

// Include Gulp
var gulp = require("gulp");
var postcss = require("gulp-postcss");

// All of your plugins
var autoprefixer = require("autoprefixer");
var browserSync = require("browser-sync");
var cache = require("gulp-cache");
var concat = require("gulp-concat");
var csswring = require("csswring");
var imagemin = require("gulp-imagemin");
// var jshint = require("gulp-jshint");
// var lost = require("lost");
var minifyHTML = require("gulp-minify-html");
// var moment = require("moment");
var plumber = require("gulp-plumber");
var rename = require("gulp-rename");
// var rucksack = require("rucksack-css");
var sass = require("gulp-sass");
var size = require("gulp-filesize");
var uglify = require("gulp-uglify");
// var upload = require("gulp-awspublish");

// Sync browser, whip up server
gulp.task("browser-sync", function() {
  browserSync({
    server: {
       baseDir: "./"
    }
  });
});

// Reload page automagically
gulp.task("bs-reload", function () {
  browserSync.reload();
});

// Compile Sass into CSS, apply postprocessors
gulp.task("styles", function(){
  var processors = [
      autoprefixer({browsers: ["last 2 version"]}),
      csswring
  ];

  gulp.src(["assets/dev/css/**/*.scss"])
    .pipe(plumber({
      errorHandler: function (error) {
        console.log(error.message);
        this.emit('end');
    }}))
    .pipe(sass())
    .pipe(postcss(processors))
    .pipe(gulp.dest("assets/dev/css/"))
    .pipe(rename("style.min.css"))
    .pipe(gulp.dest("assets/dist"))

    .pipe(browserSync.reload({stream:true}))
});

// Show any JavaScript errors
gulp.task("scripts", function(){
  return gulp.src("assets/dev/js/**/*.js")
    .pipe(plumber({
      errorHandler: function (error) {
        console.log(error.message);
        this.emit("end");
    }}))
    .pipe(concat("all.js"))
    .pipe(gulp.dest('assets/dist'))
    .pipe(rename("all.min.js"))
    .pipe(uglify())
    .pipe(gulp.dest("assets/dist"))
    .pipe(browserSync.reload({stream:true}))
});

// Minify images
gulp.task("images", function(){
  gulp.src("assets/dev/img/**/*")
    .pipe(cache(imagemin({ optimizationLevel: 3, progressive: true, interlaced: true })))
    .pipe(gulp.dest("assets/dev/img"));
});

// Minify HTML
gulp.task("html", function() {
  var opts = {
    conditionals: true,
    spare:true
  };

  return gulp.src("*.html")
    .pipe(minifyHTML(opts))
    .pipe(rename("index.min.html"))
    .pipe(gulp.dest("assets/dist"));
});

// Size of each of the files
gulp.task("size", function(){
  gulp.src(["*.html", "assets/dev/css/**/*.css", "assets/dev/js/**/*.js", "assets/dev/img/**/*", "assets/dist/**/*"])
    .pipe(size())
});

// Deploy
// gulp.task('publish', function() {
//   var publisher = awspublish.create({
//     params: {
//       Bucket: 'bdnsunproduction'
//     }
//   });

//   var headers = {
//     'Cache-Control': 'max-age=1209600, public'
//   };

//   return gulp.src(["*.html", "assets/dist/css/**/*.css", "assets/dist/js/**/*.js", "assets/dist/img/**/*"])
//     .pipe(awspublish.gzip({ ext: '.gz' }))
//     .pipe(publisher.publish(headers))
//     .pipe(publisher.cache())
//     .pipe(awspublish.reporter());
// });

// Default task
gulp.task('default', ['browser-sync'], function(){
  gulp.watch("assets/dev/css/**/*.scss", ['styles']);
  gulp.watch("assets/dev/js/**/*.js", ['scripts']);
  gulp.watch("*.html", ['bs-reload']);
  gulp.start("images", "styles", "scripts")
});

文件夹结构

在此处输入图像描述

4

0 回答 0