var gulp = require('gulp'), concat = require('gulp-concat'), // uglify = require('gulp-uglify'), uglify = require('gulp-uglify-es').default, rename = require('gulp-rename'), jshint = require('gulp-jshint'), stripDebug = require("gulp-strip-debug"),//移除console语句 cleanCSS = require('gulp-clean-css'), gutil = require('gulp-util'); gulp.task('jslint', function () { return gulp.src('fc/js/*.js') .pipe(jshint()) .pipe(jshint.reporter('default')) .pipe(notify({message: 'finished jslint'})); }); gulp.task('disthtml', function(){ return gulp.src(['**/*.html', '!node_modules/**/*', '!dist/**/*']) .pipe(gulp.dest('dist')); }) gulp.task('distfccss', function() { return gulp.src(['fc/css/**/*.css']) .pipe(cleanCSS()) .pipe(gulp.dest('dist/fc/css')); }) gulp.task('distfcstatic', function() { return gulp.src(['fc/resources/**/*']) .pipe(gulp.dest('dist/fc/resources')); }) gulp.task('distfcjs', function() { return gulp.src(['fc/js/*.js']) // .pipe(concat('main.js')) // .pipe(rename({suffix: '.min'})) //https://github.com/mishoo/UglifyJS2 .pipe(uglify({ mangle:true, compress:true, output: { comments: false //保留注释, all: 保留所有,some:只保留license等信息,false: 不保留,正则或者function } })) .pipe(stripDebug()) .pipe(gulp.dest('dist/fc/js')); }); gulp.task('distfc', ['distfcjs', 'distfccss', 'distfcstatic']) gulp.task('distgbajs', function() { return gulp.src(['gba/dist/*.js']) // .pipe(concat('main.js')) // .pipe(rename({suffix: '.min'})) //https://github.com/mishoo/UglifyJS2 .pipe(uglify({ mangle:true, compress:true, output: { comments: false //保留注释, all: 保留所有,some:只保留license等信息,false: 不保留,正则或者function } })) .pipe(stripDebug()) .pipe(gulp.dest('dist/gba/dist')); }); gulp.task('distgbacss', function() { return gulp.src(['gba/dist/**/*.css']) .pipe(gulp.dest('dist/gba/dist')); }) gulp.task('distgbastatic', function() { return gulp.src(['gba/resources/**/*']) .pipe(gulp.dest('dist/gba/resources')); }) gulp.task('distgbajsext', function() { return gulp.src(['gba/js/**/*']) .pipe(gulp.dest('dist/gba/js')); }) gulp.task('distgba', ['distgbajs', 'distgbacss', 'distgbastatic', 'distgbajsext']) gulp.task('distgba2js', function() { return gulp.src(['gba2/dist/*.js']) // .pipe(concat('main.js')) // .pipe(rename({suffix: '.min'})) //https://github.com/mishoo/UglifyJS2 .pipe(uglify({ mangle:true, compress:true, output: { comments: false //保留注释, all: 保留所有,some:只保留license等信息,false: 不保留,正则或者function } })) .pipe(stripDebug()) .pipe(gulp.dest('dist/gba2/dist')); }); gulp.task('distgba2css', function() { return gulp.src(['gba2/dist/**/*.css']) .pipe(cleanCSS()) .pipe(gulp.dest('dist/gba2/dist')); }) gulp.task('distgba2static', function() { return gulp.src(['gba2/resources/**/*']) .pipe(gulp.dest('dist/gba2/resources')); }) gulp.task('distgba2bios', function() { return gulp.src(['gba2/Binaries/**/*']) .pipe(gulp.dest('dist/gba2/Binaries')); }) gulp.task('distgba2jscore', function() { return gulp.src(['gba2/IodineGBA/**/*']) .pipe(uglify({ mangle:true, compress:true, output: { comments: false //保留注释, all: 保留所有,some:只保留license等信息,false: 不保留,正则或者function } })) .pipe(gulp.dest('dist/gba2/IodineGBA')); }) gulp.task('distgba2jsuser', function() { return gulp.src(['gba2/user_scripts/**/*']) .pipe(uglify({ mangle:true, compress:true, output: { comments: false //保留注释, all: 保留所有,some:只保留license等信息,false: 不保留,正则或者function } })) .pipe(stripDebug()) .pipe(gulp.dest('dist/gba2/user_scripts')); }) gulp.task('distgba2', ['distgba2js', 'distgba2css', 'distgba2static', 'distgba2bios', 'distgba2jscore', 'distgba2jsuser']) gulp.task('assets', function() { return gulp.src(['assets/**/*']) .pipe(gulp.dest('dist/assets')); }) gulp.task('default', ['disthtml', 'distfc', 'distgba', 'distgba2', 'assets']);