美文网首页
gulp自动化项目构建

gulp自动化项目构建

作者: 报告老师 | 来源:发表于2017-11-26 21:38 被阅读8次

var gulp = require('gulp');//引用gulp

var $ = require('gulp-load-plugins')();

var open = require('open');

//创建app对象,定义项目路径

var app = {

srcPath:'src/',

devPath:'build/',

prdPath:'dist/'

};

//同步lib

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

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

.pipe(gulp.dest(app.devPath+'vendor'))

.pipe(gulp.dest(app.prdPath+'vendor'))

.pipe($.connect.reload());,//设置分类重载

});

//同步html

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

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

.pipe(gulp.dest(app.devPath))

.pipe(gulp.dest(app.prdPath))

.pipe($.connect.reload());

});

//同步json

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

gulp.src(app.srcPath+'data/**/*.json')

.pipe(gulp.dest(app.devPath+'data'))

  .pipe(gulp.dest(app.prdPath+'data'))

  .pipe($.connect.reload());

});

//同步less,并编译成css

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

gulp.src(app.srcPath+'style/index.less')

.pipe($.less())

.pipe(gulp.dest(app.devPath+'css'))

.pipe($.cssmin())

.pipe(gulp.dest(app.prdPath+'css'))

.pipe($.connect.reload());

});

//同步js文件,并合并输出到生产环境和开发环境

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

gulp.src(app.srcPath+'script/**/*.js')

.pipe($.concat('index.js'))

.pipe(gulp.dest(app.devPath+'js'))

.pipe($.uglify())

.pipe(gulp.dest(app.prdPath+'js'))

.pipe($.connect.reload());

});

//同步并压缩图片

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

gulp.src(app.srcPath+'img/**/*')

.pipe(gulp.dest(app.devPath+'img'))

.pipe($.imagemin())

.pipe(gulp.dest(app.prdPath+'img'))

.pipe($.connect.reload());

});

//同步全部

gulp.task('build',['img','js','less','json','html','lib']);

//清除同步

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

gulp.src([app.devPath+'/*',app.prdPath+'/*'])

.pipe($.clean());

});

//定义服务对象

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

$.connect.server({

root:[app.devPath],

livereload:true,

port:8081

});

open('http://localhost:8081');

});

//监听文件变化

gulp.watch('bower_components/**/*',['lib']);

gulp.watch(app.srcPath+'/**/*.html',['html']);

gulp.watch(app.srcPath+'style/**/*.less',['less']);,

gulp.watch(app.srcPath+'script/**/*.js',['script']);

gulp.watch(app.srcPath+'data/**/*.json',['json']);

gulp.watch(app.srcPath+'img/**/*,['img']);

项目结构:

gulp自动化项目构建

主要目的是令到src,build,dist三个目录的结构能够随着修改自动增减同步。

目录最终效果

gulp自动化项目构建

注:因为之前设置了server对象,所以相当于有了一个web容器,就不再需要找什么Apache,tomcat之类的东西了,这一点相当屌。

相关文章

  • 1,node.js

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

  • JavaScript学习笔记(三十六)-- GULP

    GULP gulp 是一个项目开发的 自动化打包构建工具 基于 node 环境来运行的 什么是自动化打包构建工具 ...

  • gulp

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

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

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

  • gulp构建es6项目

    项目构建介绍 ES6 项目构建 基础架构 任务自动化(gulp) 编译工具(babel、webpack) 代码实现...

  • gulp项目构建---看一遍就会了

    参考链接:gulp菜鸟教程npm官方网站gulp项目地址前端自动化Gulp工具常用插件 项目构建 多个开发者共同开...

  • 【前端日记-gulp系列-认识gulp】

    一、gulp介绍及用法 1. 介绍 gulp是一个自动化构建工具,可以帮助开发者构建整个项目流程中的自动化部分,比...

  • glup

    1.gulp简介 1.1 gulp是什么 gulp是前端开发过程中一种基于流的代码构建工具,是自动化项目的构建利器...

  • Javascript 高级 自动化

    什么是GULP? GULP 是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器;她不仅能 对...

  • 前端自动化工具——gulp详细入门教程

    本文github地址简介:gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器;gulp是基于No...

网友评论

      本文标题:gulp自动化项目构建

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