编写gulpfile.js文件:压缩合并css、js
使用gulp一共有四个步骤:
1. 全局安装 gulp:
2. 作为项目的开发依赖(devDependencies)安装:
3. 在项目根目录下创建一个名为
|
下面用实例讲解一下如何编写gulpfile.js文件。
实例1.编写一个简单的实例:压缩css,js文件
/*gulpfile.js*/
var gulp = require('gulp'), //必须的
mincss = require('gulp-mini-css'), //压缩css
uglify = require('gulp-uglify'); //压缩js var raw_css = './raw/css',
com_css = './compress/css',
raw_js = './raw/js',
com_js = './compress/js'; gulp.task('mincss', function () { //mincss任务
gulp.src(raw_css+'/**/*.scss')
.pipe(mincss())
.pipe(gulp.dest(com_css));
}); gulp.task('minjs', function () { //minjs任务
gulp.src(raw_js+'/**/*.js')
.pipe(uglify())
.pipe(gulp.dest(com_js));
}); gulp.task('watch', function () { //监听任务
gulp.watch(raw_css+'/**/*.css',['mincss']);
gulp.watch(raw_js+'/**/*.js',['minjs']);
}); gulp.task('default',function(){ //默认执行
gulp.run('sass','minjs','mincss');
gulp.run('watch');
});
实例2.压缩合并一个文件夹的所有文件为一个min文件
/*gulpfile.js*/
var gulp = require('gulp'),
mincss = require('gulp-mini-css'), //压缩css
minjs = require('gulp-uglify'), //压缩js
concat = require('gulp-concat'), //合并
rename = require('gulp-rename'), //重命名
del = require('del'); //删除 var raw_css = './raw/css',
com_css = './compress/css',
raw_js = './raw/js',
com_js = './compress/js'; /*
方法名:压缩合并css
功能:将raw_css文件夹下所有.css文件 -> main.min.css
*/
gulp.task('minCss', function () {
gulp.src(raw_css+'/*.css') //输入
.pipe(concat("main.css")) //合并
.pipe(mincss()) //压缩css
.pipe(rename({suffix: '.min'})) //重命名
.pipe(gulp.dest(com_css)); //输出
}); /*
方法名:合并css
功能:将raw_css文件夹下所有.css文件 -> main.js
*/
gulp.task('concatCss', function () {
gulp.src(raw_css+'/*.css') //输入
.pipe(concat("main.css")) //合并
.pipe(gulp.dest(com_css)); //输出
}); /*
方法名:压缩合并js
功能:将raw_js文件夹下所有.js文件 -> main.min.js
*/
gulp.task('minJS', function () {
gulp.src(raw_js+'/*.js') //输入
.pipe(concat("main.js")) //合并
.pipe(minjs()) //压缩css
.pipe(rename({suffix: '.min'})) //重命名
.pipe(gulp.dest(com_js)); //输出
}); /*
方法名:合并js
功能:将raw_js文件夹下所有.js文件 -> main.js
*/
gulp.task('concatJS', function () {
gulp.src(raw_js+'/*.js') //输入
.pipe(concat("main.js")) //合并
.pipe(gulp.dest(com_js)); //输出
});
//默认执行
gulp.task('default',function(){
gulp.run('minCss','concatCss','minJS','concatJS');
});
实例3.压缩合并多个文件夹的文件为一个min文件
/*gulpfile.js*/
var gulp = require('gulp'),
mincss = require('gulp-mini-css'), //压缩css
minjs = require('gulp-uglify'), //压缩js
concat = require('gulp-concat'), //合并
rename = require('gulp-rename'), //重命名
del = require('del'); //删除 var source_css = './public/styles', //css
des_css = './public/plugins/huidao/css',
source_js = './public/scripts', //js
des_js = './public/plugins/huidao/js'; //压缩合并css
gulp.task('minCss', function () {
gulp.src(source_css+'/*.css') //输入
.pipe(concat("huidao.css")) //合并
.pipe(mincss()) //压缩css
.pipe(rename({suffix: '.min'})) //重命名
.pipe(gulp.dest(des_css)); //输出
}); //合并css
gulp.task('concatCss', function () {
gulp.src(source_css+'/*.css') //输入
.pipe(concat("huidao.css")) //合并
.pipe(gulp.dest(des_css)); //输出
}); /*
*任务:压缩合并open的js
* huidao.open.min.js = /controller/open.controller.js + /controller/open/*.js + /factory/open/*.js
* */
gulp.task('minOpenJs', function () {
gulp
.src([source_js+"/controller/open.controller.js",source_js+"/controller/open/*.js",source_js+"/factory/open/*.js"])
.pipe(concat("huidao.open.js"))
.pipe(minjs())
.pipe(rename({suffix:'.min'}))
.pipe(gulp.dest(des_js));
}); /*
*任务:合并open的js
* huidao.open.js = /controller/open.controller.js + /controller/open/*.js + /factory/open/*.js
* */
gulp.task('concatOpenJs', function () {
gulp
.src([source_js+"/controller/open.controller.js",source_js+"/controller/open/*.js",source_js+"/factory/open/*.js"])
.pipe(concat("huidao.open.js"))
.pipe(gulp.dest(des_js));
}); /*
*任务:压缩合并developer的js
* huidao.developer.min.js = /controller/developer.controller.js + /controller/developer/*.js + /factory/developer/*.js
* */
gulp.task('minDeveloperJs', function () {
gulp
.src([source_js+"/controller/developer.controller.js",source_js+"/controller/developer/*.js",source_js+"/factory/developer/*.js"])
.pipe(concat("huidao.developer.js"))
.pipe(minjs())
.pipe(rename({suffix:'.min'}))
.pipe(gulp.dest(des_js));
}); /*
*任务:合并developer的js
* huidao.developer.js = /controller/developer.controller.js + /controller/developer/*.js + /factory/developer/*.js
* */
gulp.task('concatDeveloperJs', function () {
gulp
.src([source_js+"/controller/developer.controller.js",source_js+"/controller/developer/*.js",source_js+"/factory/developer/*.js"])
.pipe(concat("huidao.developer.js"))
.pipe(gulp.dest(des_js));
}); /*
*任务:压缩合并admin的js
* huidao.admin.min.js = /controller/admin.controller.js + /controller/admin/*.js + /factory/admin/*.js
* */
gulp.task('minAdminJs', function () {
gulp
.src([source_js+"/controller/admin.controller.js",source_js+"/factory/admin/*.js",source_js+"/controller/admin/*.js"])
.pipe(concat("huidao.admin.js"))
.pipe(minjs())
.pipe(rename({suffix:'.min'}))
.pipe(gulp.dest(des_js));
}); /*
*任务:合并admin的js
* huidao.admin.js = /controller/admin.controller.js + /controller/admin/*.js + /factory/admin/*.js
* */
gulp.task('concatAdminJs', function () {
gulp
.src([source_js+"/controller/admin.controller.js",source_js+"/factory/admin/*.js",source_js+"/controller/admin/*.js"])
.pipe(concat("huidao.admin.js"))
.pipe(gulp.dest(des_js));
}); //默认执行
gulp.task('default',function(){
gulp.run('minCss','concatCss','minOpenJs','concatOpenJs','minDeveloperJs','concatDeveloperJs','minAdminJs','concatAdminJs');
});
编写gulpfile.js文件:压缩合并css、js的更多相关文章
- 折腾一两天,终于学会使用grunt压缩合并混淆JS脚本,小激动,特意记录一下+spm一点意外收获
很长时间没有更新博客了,实在是太忙啦...0.0 ,以下的东西纯粹是记录,不是我原创,放到收藏夹还担心不够,这个以后常用,想来想去,还是放到这里吧,,丢不了..最后一句废话,网上搜集也好原创也罢,能解 ...
- IIS7的集成模式下如何让自定义的HttpModule不处理静态文件(.html .css .js .jpeg等)请求
今天将开发好的ASP.NET站点部署到客户的服务器上后,发现了一个非常头疼的问题,那么就是IIS7的应用程序池是集成模式的话,ASP.NET项目中自定义的HttpModule会处理静态文件(.html ...
- gulp完成javascript压缩合并,css压缩
最近需要对项目进行优化,主要是对js的压缩合并和css文件的压缩,查找相关资料之后发现gulp可以实现相关的功能,特此分享一下使用心得. 1.安装gulp gulp是基于Node.js的前端构建工具. ...
- php大力力 [028节] 如何下载js文件,网上一个*.js无法下载啊??????
php大力力 [028节] 如何下载js文件,网上一个*.js无法下载啊?????? safari也无法下载 迅雷也无法下载 是不是对方网站服务器的不让下载那个js目录的文件??? 只能调用js函数啊 ...
- 动态加载JS文件,并根据JS文件的加载状态来执行自己的回调函数
动态加载JS文件,并根据JS文件的加载状态来执行自己的回调函数, 在很多场景下,我们需要在动态加载JS文件的时候,根据加载的状态来进行后续的操作,需要在JS加载成功后,执行另一方法,这个方法是依托在加 ...
- Js文件中调用其它Js函数的方法
在项目开发过程中,也许你会遇这样的情况.在某一Js文件中需要完成某一功能,但这一功能的大部分代码在另外一个Js文件中已经完成了,自己只需要调用这个方法再加上几句代码就可以实现所需的功能.我们知道,在h ...
- js文件中引用其他js文件
这一个功能的作用是做自己的js包时,可以通过引入一个整体的js文件而引入其他js. 只需要在总体的js加上这一句话 document.write("<script type='text ...
- 文字添加响应事件,js动态加载CSS, js弹出DIV
文字添加响应事件,js动态加载CSS, js弹出DIV <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu ...
- webstorm创建js文件时自动生成js注释
设置webstorm创建js文件时自动生成js注释 settings--Editor--File and Code Temlates 黑色框框里的内容自己填写上去,以下是参考的代码块: /** * @ ...
随机推荐
- PostgreSQL配置文件--连接和认证
1 连接和认证 CONNECTIONS AND AUTHENTICATION 1.1 连接 CONNECTIONS 1.1.1 listen_addresses 字符型 默认: listen_addr ...
- scrapy-splash抓取动态数据例子十三
一.介绍 本例子用scrapy-splash通过搜狗搜索引擎,输入给定关键字抓取微信资讯信息. 给定关键字:数字:融合:电视 抓取信息内如下: 1.资讯标题 2.资讯链接 3.资讯时间 4.资讯来源 ...
- 关于 iOS 证书,你必须了解的知识
收录待用,修改转载已取得腾讯云授权 最新腾讯云技术公开课直播,提问腾讯W3C代表,如何从小白成为技术专家?点击了解活动详情. 作者 |陈泽滨 编辑 | 顾乡 从事iOS开发几年,越来越发现,我们的开发 ...
- Python测试Kafka集群(pykafka)
生产者代码: # -* coding:utf8 *- from pykafka import KafkaClient host = 'IP:9092, IP:9092, IP:9092' client ...
- [转]Nginx调用远程php-fpm
Nginx调用远程php-fpm 前后端分离的网站,要在异地部署多套网页的时候,这种nginx配置调用远程php-fpm的方式,不错.可以提高网页的相应速度. 原文: https://www.cnbl ...
- plsql连接oracle数据库
步骤 (1)线上安装oracle数据库(已配好) (2)本地远程连接.安装oracle客户端(运行时) (3)安装plsql. (4)oracle客户端可以不用配置,直接在plsql中数据访问验证
- 在 XenServer上调试windows程序
WinDbg WinDbg is one of a number of tools available from Microsoft that can be used for debugging Wi ...
- POJ1274:The Perfect Stall(二分图最大匹配 匈牙利算法)
The Perfect Stall Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 17895 Accepted: 814 ...
- iOS 程序进入后台,包含用户上拉快捷菜单导致程序失去活跃的研究
今日在使用某App时候,突然发现上拉菜单.程序视频扔在播放,咦!引起了我的兴趣. 首先,列出两个方法, 第一个方法是AppDelegate的代理.当程序进入后台时候调用 - (void)applica ...
- 深入浅出理解之 onInterceptTouchEvent与onTouchEvent
参考:http://blog.csdn.net/android_tutor/article/details/7193090 与 http://www.cnblogs.com/kingcent/ ...