美文网首页
gulp构建完整项目

gulp构建完整项目

作者: __摸摸头 | 来源:发表于2018-03-19 14:34 被阅读0次

项目结构如下:

gulpfile.js文件配置如下:

// 引入插件

var gulp = require('gulp');

var browserSync=require('browser-sync').create();

var less= require('gulp-less');

var jsmin=require('gulp-jsmin');

var cleanCSS =require('gulp-clean-css');

var autoprefixer=require('gulp-autoprefixer');

var imagemin=require('gulp-imagemin');

var cssBase64=require('gulp-css-base64');

var include=require('gulp-file-include');

var gulpSequence = require('gulp-sequence');

var reload      = browserSync.reload;

var rev=require('gulp-rev');

var  revCollector=require('gulp-rev-collector');

var minifyHTML  = require('gulp-minify-html');

var uglify =require('gulp-uglify');

var htmlmin =require('gulp-htmlmin');

var clean =require('gulp-clean');

// 开发

gulp.task('ytmless',function(){

gulp.src('./src/less/*.less')

.pipe(cssBase64())

.pipe(less())

.pipe(autoprefixer({

browsers: ['last 2 versions'],

cascade: false

}))

.pipe(cleanCSS())

.pipe(gulp.dest('./app/css/'))

.pipe(reload({stream: true}))

});

gulp.task('ytmjs',function(){

gulp.src('./src/js/*.js')

.pipe(uglify())

.pipe(gulp.dest('./app/js/'))

.pipe(reload({stream: true}))

});

gulp.task('ytmlib', function(){

gulp.src('./src/lib')

.pipe(gulp.dest('./app/lib'))

.pipe(reload({stream: true}))

})

gulp.task('ytmimage',function(){

gulp.src('./src/images/')

.pipe(gulp.dest('./app/images/'))

.pipe(reload({stream: true}))

});

gulp.task('ytmhtml',()=>{

return gulp.src('./src/*.html')

.pipe(include())

.pipe(gulp.dest('./app/'))

.pipe(reload({stream: true}))

})

gulp.task('include',function(){

gulp.src('./src/*.html')

.pipe(include({

prefix: '@@',

basepath: '@file'

}))

.pipe(gulp.dest('./app/'))

})

gulp.task('ytmserve',function(){

browserSync.init({

server:'./app',

port:'9090'

})

});

gulp.task('dev',function(cd){

gulpSequence(['ytmlib', 'ytmless','ytmimage', 'ytmjs', 'ytmhtml','include'], 'ytmserve')(cd);

gulp.watch('./src/less/*.less', ['ytmless']);

gulp.watch('./src/*.html', ['ytmhtml']);

gulp.watch('./src/js/*.js', ['ytmjs']);

gulp.watch('./src/lib', ['ytmlib']);

gulp.watch('./src/images', ['ytmimage']);

})

// 生产

gulp.task('buildcss',function(){

gulp.src('./app/css/*.css')

.pipe(rev())

.pipe(gulp.dest('./build/css'))

.pipe(rev.manifest())

.pipe(gulp.dest('./build/rev/css'))

})

gulp.task('buildjs',function(){

gulp.src('./app/js/*.js')

.pipe(rev())

.pipe(gulp.dest('./build/js'))

.pipe(rev.manifest())

.pipe(gulp.dest('./build/rev/js'))

})

gulp.task('buildimg',function(){

gulp.src('./app/images')

.pipe(gulp.dest('./build/images'))

.pipe(reload({stream: true}))

})

gulp.task('buildlib',function(){

gulp.src('./app/lib')

.pipe(gulp.dest('./build/lib'))

.pipe(reload({stream: true}))

})

gulp.task('buildhtml',function(){

gulp.src('./app/*.html')

.pipe(htmlmin({

collapseWhitespace: true,

}))

.pipe(gulp.dest('./build/'))

.pipe(reload({stream: true}))

})

gulp.task('rev',function(){

gulp.src(['./build/rev/**/*.json','./build/*.html'])

.pipe( revCollector({

replaceReved: true

}) )

.pipe( gulp.dest('./build') );

})

gulp.task('clean', function(){

return gulp.src('./build/*')

.pipe(clean({read: false}))

})

gulp.task('build', gulpSequence(['clean','buildcss', 'buildjs', 'buildimg','buildhtml','buildlib','rev']));

相关文章

  • gulp构建完整项目

    项目结构如下: gulpfile.js文件配置如下: // 引入插件 var gulp = require('gu...

  • 【前端工具】gulp构建工具的基本使用

    gulp是什么? gulp是前端开发中经常使用的自动化构建工具。自动化构建又是什么? 简单来说,一个完整的项目需要...

  • 项目构建打包gulp

    gulp gulp是NodeJS项目构建工具,它是用来构建我们的项目,而且是把开发中的项目构建成可以放置在服务器的...

  • gulp的简单使用

    gulp构建项目 1.安装gulp,创建gulpfile.js作为入口文件 2.确定需要构建的文件,列出构建任务和...

  • 前端自动化工具打包gulp学习之路

    gulp作为前端构建项目的一个工具,自己理解gulp主要方面的作用:1.构建本地服务器。2.快速构建项目。3.对代...

  • Jenkins+gulp构建完整项目

    在项目中的使用: 上一篇讲解了使用 Jenkins 使用过程中常遇到的错误,本章主要进行系统化讲解 Jenkins...

  • 1,node.js

    自动化构建工具 gulp webpack grunt gulp--构建项目,压缩合并处理,依赖于 gulpf...

  • gulp

    gulp解释 GULP 是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器。GULP 是 基 于 Nod...

  • gulp项目构建

    bower 的安装,需要nodejs 因为bower就是nodejs编写的,nodejs是他的运行平台。 安装no...

  • gulp项目构建

    项目构建 多个开发者共同开发一个项目,每位开发者负责不同的模块,这就会造成一个完整的项目实际上是由许多的“代码版段...

网友评论

      本文标题:gulp构建完整项目

      本文链接:https://www.haomeiwen.com/subject/wvumhxtx.html