自动化构建工具—gulp的用法简单总结

  把之前用到的gulp总结整理下,有时候说不出来的,就写出来吧,做个笔记,以后也可以慢慢补充

  cnpm i --save-dev gulp 把nodejs模块写到package.json配置文件中,当保存到git仓库时,只需保存package.json即可

  用到的gulp模块有:gulp-clean/gulp-concat/gulp-connect/gulp-cssmin/gulp-less/gulp-load-plugins/gulp-uglify/open

    注:安装node模块是可批量安装的  cnpm i --save-dev gulp-clean gulp-concat....

  gulp-plumber:当编译css or js时发生错误,它不会立即中断线程,而只是抛出错误

  gulp有两个优点:

    1、基于流,效率非常高  简言之,把产生的中间文件放在内存中进行处理,直到最后一步才生成文件,操作文件

    2、任务化,编写成一个个小任务 然后合并执行任务 逻辑清晰 可读性好

  gulp有两个功能很重要——压缩、合并,合并之后减少Http请求,压缩后减少带宽

  常用的api(函数):src、dest、watch、task、pipe  

    src:     读取文件、文件夹

    dest:     生成文件、写文件

    watch:监控文件

    task:定制任务

    pipe:用流的方式处理文件

  贴出gulpfile.js的文件编写:

  

//引入模块
var gulp = require(‘gulp‘);
var $ = require(‘gulp-load-plugins‘)(); //其他的gulp模块就可以直接通过$来引用,而不需再声明变量
var open = require(‘open‘);

//全部变量来定义目录路径
var app = {
    srcPath:‘src/‘,        //源代码放置的位置
    devPath:‘build/‘,    //整合之后的文件,开发目录
    prdPath:‘dist/‘        //用于生产、部署
};

//把bower下载的第三方创建拷贝到生产环境目录
gulp.task(‘lib‘,function(){
    gulp.src(‘bower_components/**/*.js‘)      //对bower_..下面的子文件进行深度遍历,读取文件
    .pipe(gulp.dest(app.devPath+‘vendor‘))    //操作:写文件
    .pipe(gulp.dest(app.prdPath+‘vendor‘))
    .pipe($.connect.reload())//构建完,刷新浏览器进行实时预览

});

gulp.task(‘html‘,function(){
    gulp.src(app.srcPath+‘**/*.html‘)
    .pipe(gulp.dest(app.devPath))
    .pipe(gulp.dest(app.prdPath))
    .pipe($.connect.reload())

});

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())

});

gulp.task(‘less‘,function(){
    gulp.src(app.srcPath+‘style/index.less‘)
    .pipe($.plumber()) //修复了pipe处理异常的bug,让任务执行更平滑
    .pipe($.less())
    .pipe(gulp.dest(app.devPath+‘css‘))
    .pipe($.cssmin())
    .pipe(gulp.dest(app.prdPath+‘css‘))
    .pipe($.connect.reload())

});

gulp.task(‘js‘,function(){
    gulp.src(app.srcPath+‘script/**/*.js‘)
      .pipe($.plumber())
    .pipe($.concat(‘index.js‘))
    .pipe(gulp.dest(app.devPath+‘js‘))
    .pipe($.uglify())
    .pipe(gulp.dest(app.prdPath+‘js‘))
    .pipe($.connect.reload())

});

gulp.task(‘image‘,function(){
    gulp.src(app.srcPath+‘image/**/*‘)
    .pipe($.plumber())
    .pipe(gulp.dest(app.devPath+‘image‘))
    .pipe($.imagemin())
    .pipe(gulp.dest(app.prdPath+‘image‘))
    .pipe($.connect.reload());

});

gulp.task(‘build‘,[‘image‘,‘js‘,‘less‘,‘json‘,‘html‘,‘lib‘]);

//每次发布的时候,把之前的目录清除,避免旧的文件对当前项目造成影响
gulp.task(‘clean‘,function(){  //构架任务
    gulp.src([app.devPath, app.prdPath])
    .pipe($.clean());

});

//编写个服务器
gulp.task(‘serve‘,[‘build‘],function(){
    $.connect.server({
        root:[app.devPath],
        livereload:true,    //适用于高级浏览器,自动刷新浏览器,ie就不支持
        port:1234

    });
    open(‘http://localhost:1234‘);

    //自动构建
    gulp.watch(‘bower_components/**/*‘,[‘lib‘]);
    gulp.watch(app.srcPath+‘**/*‘,[‘html‘]);
    gulp.watch(app.srcPath+‘data/**/*‘,[‘json‘]);
    gulp.watch(app.srcPath+‘style/**/*‘,[‘less‘]);
    gulp.watch(app.srcPath+‘script/**/*‘,[‘js‘]);
});

gulp.task(‘default‘,[‘serve‘])
时间: 2024-11-14 08:06:07

自动化构建工具—gulp的用法简单总结的相关文章

web 环境搭建00前端自动化构建工具(gulp)

web 环境搭建----前端自动化构建工具(gulp): 1----先下载安装node.js 2----然后在node.js命令行安装:npm install gulp -g (全局下载安装gulp插件) 3----然后进入到项目文件夹(命令cd 文件夹名),在项目文件夹中安装依赖文件:npm install gulp --save-dev (根据依赖文件下载gulp插件) 4----在项目文件夹目录下初始化:npm init (初始化文件) {初始化文件后项目中会出现packgae.json文

自动化构建工具----gulp

gulp是什么? Gulp是基于node的一个自动化构建工具,开发者可以使用它构建自动化工作流程(前端集成开发环境). gulp基于流的操作. 常见构建工具:Grunt,gulp,webpack,FIS.. gulp有什么用? 网页自动刷新,CSS预处理,代码检测,图片压缩等功能,只需要简单的命令行就可以全部完成.使用它, 可以简化工作,让你把重点放在功能的开发上,同时减少人为失误,提高开发的效率和质量. gulp怎么用? .以[email protected]为例 1.初始化npm npm i

前端自动化构建工具——gulp

gulp是基于流的前端自动化构建工具. 一.环境配置 gulp是基于nodejs的,所以没有 nodejs 环境的要先去安装好 然后给系统配上gulp环境 npm install -g gulp 再到某一工程目录下 跟grunt一般,也是需要package.json包依赖文件和一个入口文件 gulpfile.js(其他名字识别不了) 然后就类似的先装上gulp npm install gulp --save-dev 最基本的使用方式是这样:(使用jshint插件校验js代码) var jshin

前端自动化构建工具gulp记录

什么是gulp 答:Gulp 是一款基于任务的设计模式的自动化工具,通过插件的配合解决全套前端解决方案,如静态页面压缩.图片压缩.JS合并.SASS同步编译并压缩CSS.服务器控制客户端同步刷新.. 为什么要用gulp? 1.js和css属于静态文件,很多时候浏览器存在缓存机制,为了避免缓存带来的误会,可以利用构建工具,给每一个静态文件添加一个版本号,这样浏览器就会认为是新的文件,就不存在缓存机制. 2.性能优化:文件合并,减少http请求:文件压缩,减少文件体积,加快下载速度: 3.效率提升:

自动化构建工具Gulp基础使用指南

Gulp说明: Gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器,基于node.js,它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成:使用它,我们不仅可以很愉快的编写代码,而且大大提高我们的工作效率.我们在编写的过程中通常都是团队协作,这里我们就可以通过Gulp提交代码,实现代码的统一. Gulp安装: 1. 进入项目所在目录,使用npm安装gulp-cli脚手架工具(脚手架设置全局安装,方便其他项目使用) 安装完成后,可通过gulp -

自动化构建工具gulp简单介绍及使用

一.简介及安装: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成:使用她,我们不仅可以很愉快的编写代码,而且大大提高我们的工作效率 gulp的优点:基于流的操作.任务化. 常用api:src .dest.watch.task.pipe 由于gulp是基于node的所以使用的时候需要通过npm或者cnpm安装全局安装(cnpm i -g gulp) 常用的gulp需要安装的包括gulp-cl

自动化构建工具gulp

1.优点 1.1 易于使用 通过代码优于配置的策略,gulp让简单的任务简单,复杂的任务可管理 1.2 构建快速 利用node.js流的威力,你可以快速构建项目并减少频繁的IO操作 1.3 插件高质 gulp严格的插件指南确保插件如你期望的那样简洁高质的工作 1.4 易于学习 通过最少的API,掌握gulp毫不费力,构建工作尽在掌握:如同一系列流管道 2.gulp使用说明 2.1 安装 在工程根目录下进入cmd 初始化npm,在项目根目录下新建package.json文件 npm init 全局

前端自动化构建工具gulp使用

1. 全局安装 gulp: $ npm install --global gulp 2. 作为项目的开发依赖(devDependencies)安装: $ npm install --save-dev gulp 3. 在项目根目录下创建一个名为 package.json 的文件: 附上本人项目基本配置 { "devDependencies": { "concat": "0.0.1-security", "gulp": "

前端自动化构建工具gulp(二)

创建一个真实的例子: 创建一个项目,结构如图 gulp的使用方法通常是这样的 gulp.task('task-name', function () { return gulp.src('source-files') // source-files是任务的入口文件路径 .pipe(aGulpPlugin()) // 调用插件 .pipe(gulp.dest('destination')) //destination执行任务输出文件路径 }) 我们将使用gulp-sass插件来编译sass: 1.安