编写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 黑色框框里的内容自己填写上去,以下是参考的代码块: /** * @ ...
随机推荐
- Go 测试单个方法/性能测试
Go 测试单个方法 gotest.go package mytest import ( "errors" ) func Division(a, b float64) (float6 ...
- IP windows相关
nbtstat: 假设 我们 通过net view 获取了 局域网内一些计算机名 如上标红的计算机名称 如何 才能获取计算机的ip呢? 接下来使用 nbtstat -a 列出远程机器的名称表: ...
- DL380 G6 BIOS刷新方法
bios下载地址SP44873.exe (5.9 MB) http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.js ...
- Android下的数据存储与訪问 --- 以文件的形式
Android下的数据存储与訪问 --- 以文件的形式 1.1 储存文件存放在手机内存中: // *** 储存数据到 /data/data/包名/files/jxn.txt文件里 String dat ...
- LoadRunner测试WebService的3种方式
LR在WebService虚拟用户协议中支持两种方式测试WebService,一种是通过“Add Service Call”的方式,一种是Import SOAP的方式. Import SOAP的方式需 ...
- 大巧不工web前端设计修炼之道—笔记
设计原则: 深入人心的设计--别让我思考 简洁是一种文化,一种需求,一种思想 ·排版 ·字体(衬线 | | 无衬线)
- C/C++ linux下光标定位和清屏函数
printf("\033[47;31mhello world\033[5m"); 47是字背景颜色, 31是字体的颜色, hello world是字符串. 后面的\033[5m是 ...
- 【分享】Nginx日志分析(上)
在很多时候,我们会非常关注网站的访问量,比如网站的日PV是多少.网站某个功能上线之后点击量是多少,像这些东西都是需要从web容器中的访问日志统计出来的,下面我们看一下如何在nginx中统计网站的访问信 ...
- AIDL调用指南
近期有需求要实现两个apk之间的通信,想到用AIDL来实现,现写一个demo学习下AIDL怎样使用. 这里我要实现一个apk(client端)调用还有一个apk(server端)的方法. 先实现ser ...
- winform MDI子窗口闪动问题
在网上看到的 不知道什么原理但真的很实用 将下面的代码随便放到主窗体的任何一个地方 protected override CreateParams CreateParams { get ...