gulp入坑系列(2)——初试JS代码合并与压缩

在上一篇里成功安装了gulp到项目中,现在来测试一下gulp的合并与压缩功能

gulp入坑系列(1)——安装gulp(传送门):http://blog.csdn.net/u013034014/article/details/53543223


在之前建立的项目中写入,在根目录新建js文件夹,并在文件夹中新建两个js文件,代码如下:

index.js:

var index={};
index={
	test:function(argument){
		console.log('test');
	}
}
index.test();

main.js:

var main = {};
main.test=function(argument){
	console.log("main test");
}
main.test();


在根目录新建文件夹build,并在build里新建一个空的js文件:all.min.js

在根目录下新建index.html ,在其中引用build下的all.min.js。

index.html:

<script type="text/javascript" src="build/all.min.js"></script>
接下来编辑gulpfile.js文件,来告诉gulp我们要把index.js,main.js合并起来压缩再写入all.min.js中

gulpfile.js:

var gulp = require('gulp');//gulp自身
var uglify= require('gulp-uglify');//引入压缩组件
var concat = require('gulp-concat');//引入合并组建

var paths = {
	scripts:['js/index.js','js/main.js']
} //定义要操作的文件路径


gulp.task('default', function() { 
  gulp.src(paths.script)//找到项目下paths变量所定义的script文件
  .pipe(uglify())//压缩
  .pipe(concat('all.min.js'))//输入到all.min.js中
  .pipe(gulp.dest('build'));//指定目录
});


tips:gulp的执行流程采用了流式操作,每一个pipe()可以理解成,上一个操作的输出,就是下一个操作的输入,比如uglify()压缩后输出的,就是concat要输入到文件中的,而concat输出的文件,是gulp.dest要加入的目录中的,可以理解成每部操作都return了下一步要使用的东西。


最终目录结构如下:


接下来就可以在命令行工具中cd到项目的根目录中执行gulp指令了。

此时也许会出现 Cannot find module 'gulp-uglify'这样的报错,是因为gulpfile所require的gulp-uglify和gulp-concat插件并不存在,所以可以利用npm在项目中装入即可:

npm install --save-dev gulp-uglify    回车

npm install --save-dev gulp-concat   回车


安装完成后再次执行gulp指令,成功后,可以查看一下我们原本空的all.min.js文件,可以看到main.js和index.js已经在all.min.js中压缩合并了

var index={};index={test:function(e){console.log("test")}},index.test();
var main={};main.test=function(n){console.log("main test")},main.test();


然后运行一下我们的index.html,打开浏览器控制台,会发现两个js的内容成功输出:



说明gulp成功执行了JS文件的合并与压缩的操作。




评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值