增加gulp任务

This commit is contained in:
eshengsky
2018-11-19 20:30:53 +08:00
parent 9b73e49934
commit c892170b35
95 changed files with 6925 additions and 185 deletions

83
gulpfile.js Normal file
View File

@@ -0,0 +1,83 @@
const path = require('path');
const nodemon = require('gulp-nodemon');
const gulp = require('gulp');
const pump = require('pump');
const uglify = require('gulp-uglify');
const cleanCSS = require('gulp-clean-css');
const babel = require('gulp-babel');
const notifier = require('node-notifier');
const minifyJsSrc = path.join(__dirname, './public/src/js/**/*.js');
const minifyCssSrc = path.join(__dirname, './public/src/css/**/*.css');
/**
* 启动服务器
*/
gulp.task('server', () => {
nodemon({
script: path.join(__dirname, './bin/www'),
ext: 'js pug',
ignore: [path.join(__dirname, './public/**')],
stdout: false
})
.on('readable', function () {
this.stdout.pipe(process.stdout);
this.stderr.pipe(process.stderr);
});
});
/**
* 进行Babel编译并压缩js脚本
*/
gulp.task('minify-js', () => {
pump([
gulp.src(minifyJsSrc),
babel({
presets: ['@babel/env']
}),
uglify(),
gulp.dest(path.join(__dirname, './public/dist/js'))
], err => {
if (err) {
console.error(`源文件可能包含语法错误,导致压缩出错!\n错误信息:${err.message}\n行号:${err.lineNumber}`);
notifier.notify('minify-js任务出错详情请查看终端。');
} else {
const msg = 'minify-js任务已完成。';
console.info(msg);
notifier.notify(msg);
}
});
});
/**
* 进行css压缩
*/
gulp.task('minify-css', () => {
pump([
gulp.src(minifyCssSrc),
cleanCSS(),
gulp.dest(path.join(__dirname, './public/dist/css'))
], err => {
if (err) {
console.error(`minify-css出错\n错误信息:${err.message}\n行号:${err.lineNumber}`);
notifier.notify('minify-css任务出错详情请查看终端。');
} else {
const msg = 'minify-css任务已完成。';
console.info(msg);
notifier.notify(msg);
}
});
});
/**
* 监听资源文件改动并自动执行任务
*/
gulp.task('watch', () => {
gulp.watch(minifyJsSrc, ['minify-js']);
gulp.watch(minifyCssSrc, ['minify-css']);
});
/**
* 默认任务
* 自动启动服务器并进行一次js和css压缩并开启文件改动监听
*/
gulp.task('default', ['server', 'minify-js', 'minify-css', 'watch']);