代码拉取完成,页面将自动刷新
var gulp = require("gulp");
// 拆分合并插件
var fileinclude = require("gulp-file-include");
// 压缩html
// var htmlmin = require("gulp-htmlmin");
// ES6 转 ES5 驱动 调用三方工具
var babel = require("gulp-babel");
// js 代码压缩
// var uglify = require("gulp-uglify");
// scss 转换成 css
var sass = require("gulp-sass");
sass.compiler = require('node-sass');
// 服务器
var connect = require("gulp-connect");
// 删除文件
var del = require("del");
// css压缩
// var cssmin = require("gulp-cssmin");
// 测试服务器
gulp.task("connect" ,function(done){
connect.server({
// 根目录设置
root : "./dist",
port : 3000, //端口3000
livereload : true // 自动刷新
});
done();
});
// 添加html处理指令
gulp.task("html",function(done){
gulp.src(["./src/components/*.html"])
// html 拆分合并插件
.pipe(fileinclude({
prefix : "@@",
basepath : "@file"
}))
.pipe(gulp.dest("./dist/components"))
// 页面更新 服务器自动刷新
.pipe( connect.reload());
done();
});
// html 压缩
// gulp.task("html-min",function(done){
// gulp.src(["./src/components/*.html"])
// .pipe(fileinclude({
// prefix : "@@",
// basepath :"@file"
// }))
// .pipe(htmlmin({
// collapseWhitespace: true
// }))
// .pipe(gulp.dest("./dist/components"));
// done();
// });
// 添加js处理指令
gulp.task("javascript",function(done){
gulp.src(["./src/javascripts/*.js"])
// Es6 转 ES5 需要使用babel /驱动 调用三方工具
// 调用babel的时候必须传递一个参数
.pipe(babel({
presets:['@babel/env']
}))
.pipe(gulp.dest("./dist/javascripts"))
.pipe( connect.reload());
done();
});
// js 压缩 / 存在不稳定因素 不建议使用
// gulp.task("javascript-min",function(done){
// gulp.src(["./src/javascripts/*.js"])
// .pipe(babel({
// persets:['@babel/env']
// }))
// // .pipe(uglify())
// .pipe(gulp.dest("./dist/javascripts"));
// done();
// });
// scss 转换成 css
gulp.task("scss",function(done){
gulp.src(["./src/scss/*.scss"])
// 事件处理函数
.pipe(sass().on("error",sass.logError))
.pipe(gulp.dest("./dist/css"))
.pipe( connect.reload());
done();
})
// scss 压缩
// gulp.task("scss-min",function(done){
// gulp.src(["./src/scss/*.scss"])
// .pipe(sass().on("error",sass.logError))
// .pipe(cssmin())
// .pipe(gulp.dest("./dist/css"))
// done();
// });
// libs 依赖 第二个依赖给img加
gulp.task("libs",function(done){
gulp.src(["./src/iconfont/**/*"])
.pipe(gulp.dest("./dist/iconfont/"));
gulp.src(["./src/img/**/*"])
.pipe(gulp.dest("./dist/img/"));
done();
});
// 给所有文件添加对应的指令监听
gulp.task("watch",function(done){
gulp.watch(["./src/components/*.html"],gulp.series("html"));
gulp.watch(["./src/javascripts/*.js"],gulp.series("javascript"));
gulp.watch(["./src/scss/*.scss"],gulp.series("scss"));
gulp.watch(["./src/iconfont/**/*" , "./src/img/**/*" , "./src/javascripts/libs/*.js"],gulp.series("libs"));
done();
});
// 清空 dist文件夹
gulp.task("del",function(done){
del("./dist/*");
done();
});
// watch 和 connect 只能开启一个 项目无法进行
// 所以写一个队列 让两个任务同时执行
var dev_task_list = gulp.series("del","html","javascript","scss","libs",gulp.parallel("watch","connect"));
gulp.task("default",dev_task_list);
// var build_task_list = gulp.series("del","html-min","javascript-min","scss-min","libs");
// gulp.task("build",build_task_list);
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。