日常項目裏用到的 簡單設置css
var gulp = require('gulp');
var commonPathPrefix = 'public/'; //須要編譯的公共目錄
//var imagemin = require('gulp-imagemin');
//var pngquant = require('imagemin-pngquant');
var uglify = require('gulp-uglify');
//var cleanCSS = require('gulp-clean-css');
//var htmlmin = require('gulp-htmlmin');
//var gulpJade = require('gulp-jade');
//var jade = require('jade');
//var jshint = require('gulp-jshint');
//var csslint = require('gulp-csslint');
//var stylish = require('jshint-stylish');html
//項目須要用到的庫
var commonFils = [
'node_modules/jquery/dist/jquery.*.js',
'node_modules/handlebars/dist/handlebars.*.js',
'node_modules/js-cookie/src/*.js',
'node_modules/moment/min/*.js',
'node_modules/spin.js/*.js',
'node_modules/Detect.js/*.js'
];node
// 代碼質量靜態檢查
gulp.task('lint:js', function () {
return gulp.src([commonPathPrefix + 'js/**/*.js'])
.pipe(jshint())
.pipe(jshint.reporter(stylish));
});jquery
gulp.task('lint:css', function () {
return gulp.src(commonPathPrefix + 'css/*.css')
.pipe(csslint('.csslintrc'))
.pipe(csslint.reporter(stylish));
});gulp
gulp.task('lint', ['lint:js', 'lint:css']);cookie
//開發環境復件文件
gulp.task('copy', function() {
gulp.src('node_modules/**/*.js')
.pipe(gulp.dest('public/node_modules'));
});ui
//壓縮腳本文件
gulp.task('scripts', function() {
gulp.src('*.js')
.pipe(uglify())
.pipe(gulp.dest('dist/js'));
//gulp.src(commonFils, {base: '.'})
// .pipe(uglify())
//.pipe(gulp.dest('dist'));
});spa
//壓縮CSS文件
gulp.task('css', function() {
return gulp.src(commonPathPrefix + 'css/*')
.pipe(cleanCSS({debug: true}, function(details) {
console.log(details.name + ': ' + details.stats.originalSize);
console.log(details.name + ': ' + details.stats.minifiedSize);
}))
.pipe(gulp.dest('dist/css'));
});debug
//壓縮圖片
gulp.task('images', function() {
gulp.src(commonPathPrefix + 'images/*')
.pipe(imagemin({
optimizationLevel: 2,
progressive: true,
use: [pngquant()]
}))
.pipe(gulp.dest('dist/images'));
});htm
//編譯jade
gulp.task('templates',['html'], function() {
gulp.src('views/**/*.jade')
.pipe(gulpJade({
jade: jade,
pretty: false
}))
.pipe(gulp.dest('dist'));
});
//壓縮html文件
gulp.task('html', function () {
gulp.src(commonPathPrefix + 'templates/**/*')
.pipe(htmlmin({
collapseWhitespace: true,
ignoreCustomFragments: [/<.*?>|(\}\} \{\{)/, /<%[\s\S]*?%>/, /<\?[\s\S]*?\?>/]
}))
.pipe(gulp.dest('dist/templates'));
});
gulp.task('default', ['css', 'scripts', 'images', 'templates', 'copy']);