需要安装的插件

"gulp": "^3.9.1",
"gulp-clean": "^0.3.2",
"gulp-concat": "^2.6.1",
"gulp-connect": "^5.0.0",
"gulp-cssmin": "^0.2.0",
"gulp-imagemin": "^3.3.0",
"gulp-less": "^3.3.2",
"gulp-load-plugins": "^1.5.0",
"gulp-minify-css": "^1.2.4",
"gulp-uglify": "^3.0.0",
"open": "0.0.5",
"serve": "^6.0.0"
npm i --save-dev gulp gulp-clean gulp-concat gulp-connect  gulp-imagemin gulp-less gulp-load-plugins gulp-minify-css gulp-uglify open serve

 <script>
var gulp=require('gulp');
var $=require('gulp-load-plugins')();//实例化 方便调用 gulp-minify-css gulp-uglify
var open=require('open'); // 实例化open方法
var app={
srcPath:'src/', //开发目录
devPath:'build/', //生产目录
prdPath:'dist/'//发布目录(用于发布)
}; gulp.task('lib',function () { //为事件命名
gulp.src('bower_comments/**/*.js') //复制项目所依赖的js(如:通过bower安装的angular.js)
.pipe(gulp.dest(app.devPath+'vendor')) //将文件黏贴到生产目录
.pipe(gulp.dest(app.prdPath+'vendor')) //将文件黏贴到发布目录
.pipe($.connect.reload()); //监测文件改变后重新运行黏贴复制
}); gulp.task('html',function () {
gulp.src(app.srcPath+'**/*.html') //复制开发目录下的所有html文件
.pipe(gulp.dest(app.devPath)) //将文件黏贴到生产目录
.pipe(gulp.dest(app.prdPath)) //将文件黏贴到发布目录
.pipe($.connect.reload());
}); gulp.task('json',function () {
gulp.src(app.srcPath+'data/**/*.json') //复制开发目录下的所有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($.less()) //将less文件编译为css
.pipe(gulp.dest(app.devPath+'css')) //将编译后的css文件黏贴到生产目录
.pipe($.minifyCss()) //用gulp-minify-css压缩css文件
.pipe(gulp.dest(app.prdPath+'css')) //
.pipe($.connect.reload());
});
gulp.task('css',function () {
gulp.src(app.srcPath+"style/*.css")
.pipe(gulp.dest(app.prdPath+'css'))
.pipe(gulp.dest(app.devPath+"css"))
.pipe($.connect.reload());
});
gulp.task('js',function () {
gulp.src(app.srcPath+'script/**/*.js')
.pipe($.concat('index.js'))
.pipe(gulp.dest(app.devPath+'js'))
.pipe($.uglify()) //用gulp-uglify压缩js文件
.pipe(gulp.dest(app.prdPath+'js'))
.pipe($.connect.reload());
}); gulp.task('img',function () {
gulp.src(app.srcPath+'image/**/*')
.pipe($.imagemin()) //通过 gulp-imagemin 压缩图片文件
.pipe(gulp.dest(app.devPath+"image"))
.pipe(gulp.dest(app.prdPath+'image'))
.pipe($.connect.reload());
}); gulp.task('build',['img','less','js','html','lib','json','css']); //将多个命令整合为一个命令方便运行 gulp.task('serve',['build'],function () { //开启一个本地服务器,方便浏览调试
$.connect.server({ //
root:[app.prdPath], // 设置服务器根目录
livereload:true, //启动服务,自动打开浏览器(低端浏览不支持)
port:1234 //定义本地浏览器端口号(不与其他端口冲突任意定义)
});
open('http://localhost:1234'); //打开本地服务器的主页
gulp.watch(app.srcPath+'script/**/*.js',['js']); //监听js文件目录,文件改变重新启动 js 任务
// gulp.watch('bower_comments/**/*',['lib']);
gulp.watch(app.srcPath+'style/**/*.less',['less']);//监听less文件目录,文件改变重新启动 less 任务
gulp.watch(app.srcPath+'**/*.html',['html']);
gulp.watch(app.srcPath+'data/**/*.json',['json']);
gulp.watch(app.srcPath+'image/**/*',['img']); }); gulp.task('clean',function () { //清除 生产目录 和发布目录的全部文件
gulp.src([app.devPath,app.prdPath])
.pipe($.clean())
}); gulp.task('default',['serve']); //定义一个默认任务, 在命令行中只需要 输入 gulp 不需要 跟任务名
</script>

gulp配置文件(gulpfile.js)的更多相关文章

  1. gulpfile.js不断更新中...

    Gulp压缩合并js/css文件,压缩图片,以及热更新教程 var gulp = require('gulp');var concat = require('gulp-concat');//- 多个文 ...

  2. gulp的使用(二)之gulpfile.js文件的配置

    Gulpfile.js是什么文件: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成:使用她, ...

  3. gulp 图片、样式、js、实时刷新等压缩gulpfile.js文件各个模块

    1.压缩tinypng图片   gulp-tinypng-nokey,但不压缩gif格式(另外一个gulp-imagemin压缩率不高,可以压缩gif格式) // 获取 gulp var gulp = ...

  4. gulpfile.js 合并压缩 requirejs 的配置文件

    var gulp = require("gulp"); // var babel = require("gulp-babel"); // 用于ES6转化ES5 ...

  5. gulpfile.js文档

    gulp watch 实现监听不仅需要package.json文档,还需要gulpfile.js文档.否则无法实现. 1.gulp的安装 1.1 首先必须先安装node.js.这个可以参考之前的博客& ...

  6. gulp为css,js添加版本号

    由于cdn缓存,更改样式后会有一段时间不生效,解决方法就是给css,js加上版本号效果如下: 1.安装gulp插件 npm install --save-dev gulp-rev (version:9 ...

  7. gulp学习-gulpfile

    安装gulp 假设已经安装了node 和npm (淘宝的cnpm很适合国内使用). 1.首页全局安装gulp. 1 npm install --global gulp 2.其次局部安装gulp.(注: ...

  8. gulp实现打包js/css/img/html文件,并对js/css/img文件加上版本号

    参考打包教程: http://www.cnblogs.com/tugenhua0707/p/4069769.html http://www.cnblogs.com/tugenhua0707/p/498 ...

  9. 通过Anuglar Material串串学客户端开发 - javascript编译和gulpfile.js

    Angular Material不仅仅有本身框架的源代码,还有在这个框架上实现的一个应用docs.更为强大的是,这个应用是真正的产品网站:就是它的官网.我有理由相信,这个网站是从源代码直接发布的,从网 ...

随机推荐

  1. [iOS]app的生命周期

    对于iOS应用程序,关键的是要知道你的应用程序是否正在前台或后台运行.由于系统资源在iOS设备上较为有限,一个应用程序必须在后台与前台有不同的行为.操作系统也会限制你的应用程序在后台的运行,以提高电池 ...

  2. Python中模块

    模块 模块对我来说是什么 模块对我来说,感觉就像亲属或者朋友已经走过的路,他们已经趟过的浑水.掉过的坑.践行过的路线,全部提供给你,在你需要的时候请求帮助,借鉴他们的解决方法一样.都是为了方便走好人生 ...

  3. 前端基础-jQuery的动画效果

    阅读目录 隐藏 显示 切换 下拉 上卷 显示 一.jQuery中隐藏元素的hide方法 让页面上的元素不可见,一般可以通过设置css的display为none属性.但是通过css直接修改是静态的布局, ...

  4. 修复 Cydia 不能上网的问题

    使用 h3lix 越狱 10.3.3 的 iPhone5,进入 Cydia 不能联网解决方法:打开 Cydia,进入已安装列表,点击 Cydia Installer 卸载,然后看到桌面上就没有 Cyd ...

  5. laravel5.5源码笔记(一、入口应用的初始化)

    laravel的项目入口文件index.php如下 define('LARAVEL_START', microtime(true)); require __DIR__.'/../vendor/auto ...

  6. 在全志V3/V3s和索智S3/S3L上调试32MB NorFlash

    选取MX25L25635F作为调试对象,其他型号的NorFlash开发调试原理基本一致.为了使V3/V3s/S3/S3L识别32MB NorFlash并正常工作,主要针对以下三个部分进行开发和调试.下 ...

  7. Python学习 :socket基础

    socket基础 什么是socket? - socket为接口通道,内部封装了IP地址.端口.协议等信息:我们可以看作是以前的通过电话机拨号上网的年代,socket即为电话线 socket通信流程 我 ...

  8. C-编译器的实现

    写这个编译器的目的,是为了完成编译原理课上老师布置的大作业,实际上该大作业并不是真的实现一个编译器,而我选择硬刚,是为了完成我的小愿望--手写内核,编译器和CPU.我花了整个上半学期,写完了WeiOS ...

  9. 20155328 2016-2017-2 《Java程序设计》 第一周学习总结

    20155328 2016-2017-2 <Java程序设计> 第一周学习总结 教材学习内容总结 本周学习目标是浏览<Java学习笔记>中的十八章,其中第一章和第二章认真学习, ...

  10. 20145207 java第二周学习总结

    教材学习内容总结 这部分可能要扒一些课本而上的东西了.在第三章中,知道了Java可区分为基本类型和类类型两大类型系统,其中类类型也称为参考类型.在这一周主要学习了类类型. 对象(Object):存在的 ...