加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
gulpfile.js 3.81 KB
一键复制 编辑 原始数据 按行查看 历史
hang-wei 提交于 2021-05-23 10:11 . 5月22日10点更新
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)
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化