代码拉取完成,页面将自动刷新
var gulp = require("gulp");
var fileinclude = require("gulp-file-include");
var htmlmin = require("gulp-htmlmin");
var babel = require("gulp-babel");
var uglify = require("gulp-uglify");
var sass = require("gulp-sass");
sass.compiler = require('sass');
var connect = require("gulp-connect");
var del = require("del");
var cssmin = require("gulp-cssmin");
gulp.task("connect" , function(done){
connect.server({
root : "./dist",
port : 3000,
livereload : true
});
done();
});
// 添加html处理指令 :
// 绑定了一个测试指令;
gulp.task('html', function(done) {
// 找到html结构;
gulp.src(['./src/*.html'])
// 配置结构之中的前缀
.pipe(fileinclude({
// html结构之中的前缀设置;
prefix: '@@',
// 根路径设置;
basepath: '@file'
}))
//把html结构转存到哪里;
.pipe(gulp.dest('./dist'))
.pipe( connect.reload());
done();
});
// cnpm i gulp-htmlmin --save-dev
gulp.task("html-min" , function(done){
gulp.src(["./src/*.html"])
// html拆分合并插件
.pipe(fileinclude({
// html结构之中的前缀设置;
prefix: '@@',
// 根路径设置; s
basepath: '@file'
}))
// html压缩插件
//把html结构转存到哪里;
.pipe(htmlmin({collapseWhitespace : true}))
.pipe(gulp.dest('./dist'));
done();
})
// js处理指令
//ES6--->ES5
gulp.task("javascript" , function(done){
gulp.src(["./src/javascripts/*.js"])
// 调用babel的时候必须传递一个参数;
.pipe(babel({
presets:['@babel/env']
}))
.pipe(gulp.dest("./dist/javascripts"))
.pipe( connect.reload());
done();
})
// gulpjs代码压缩插件; gulp-uglify
// - 不建议使用;
// - 如果后期代码无法转存,记得删除这个插件就好了;
// 安裝:cnpm install --save-dev gulp-uglify
gulp.task("javascript-min" , function(done){
gulp.src(["./src/javascripts/*.js"])
// 调用babel的时候必须传递一个参数;
.pipe(babel({
presets: ['@babel/env']
}))
.pipe(uglify())
.pipe(gulp.dest("./dist/javascripts"))
done();
});
// sass转换成 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();
});
gulp.task("scss-min" , function(done){
gulp.src(["./src/scss/*.scss"])
.pipe(sass().on("error" , sass.logError))
.pipe(cssmin())
.pipe(gulp.dest("./dist/css"))
.pipe( connect.reload() );
done();
});
gulp.task("libs" , function(done){
gulp.src(["./src/iconfont/**/*"])
.pipe(gulp.dest("./dist/iconfont/"))
.pipe( connect.reload());
gulp.src(["./src/img/**/*"])
.pipe(gulp.dest("./dist/img/"))
.pipe( connect.reload());
gulp.src(["./src/data/**/*"])
.pipe(gulp.dest("./dist/data/"))
.pipe( connect.reload());
done();
});
// -小任务 :给所有文件添加对应指令的监听
gulp.task("watch" ,function(done){
gulp.watch(["./src/*.html","./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();
})
gulp.task("del" , function(done){
del("./dist/*");
done();
});
// parallel同时启动
var dev_task_list = gulp.series("del","html","scss","javascript","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)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。