美文网首页Web前端之路前端攻城狮前端开发笔记
【二】gulp之用gulp-concat合并js文件

【二】gulp之用gulp-concat合并js文件

作者: 小枫学幽默 | 来源:发表于2017-02-08 17:26 被阅读1092次

还记得上一篇我说的那个js文件合并的例子吗?这一篇我们就来做这个

  • 1) 目录结构
Paste_Image.png
  • 2)安装合并所需插件

gulp做文件合并,需要借助一个插件 gulp-concat

npm install gulp-concat
  • 3)新建gulpfile.js 写入以下代码

合并所有js为一个文件

//调用gulp模块
var gulp = require('gulp')
//调用js文件合并插件
var concat = require('gulp-concat');

//用gulp建立一个all_to_one任务
gulp.task('all_to_one', function() {
  return gulp.src('scripts/**/*.js')
    .pipe(concat('all.js'))
    .pipe(gulp.dest('js'));
});

说明

  • A. gulp.src()的作用是找到需要处理的文件(这里我们需要处理的是 scripts目录中所有的js文件)
    参数格式为:gulp.src(globs[, options])
    globs:类型: String 或 Array 所要读取的 glob 或者包含 globs 的数组。
    glob 请参考 node-glob 语法 或者,你也可以直接写文件的路径。
    options:额外的选项参数,相关解释请参见:options文档

  • B. pipe() 理解为管道,想象gulp处理文件为一个水管,gulp.src()负责进需要过滤的水(进水口),pipe()负责处理进入的水(例如:过滤杂质插件,过滤有害物质...等插件);参数就是要对水执行的操作,例子中传入了插件 gulp-concat暴露的 concat 方法,方法参数为最后处理之后的文件名(all.js);
    详细用法见:gulp-concat文档

  • C.gulp.dest()的作用是将管道中处理过的文件流重新输出到某位置(路径下);
    参数格式:gulp.dest(path[, options])
    path 类型: String or Function
    文件将被写入的路径(输出目录)。也可以传入一个函数,在函数中返回相应路径,这个函数也可以由 vinyl 文件实例 来提供。
    options 类型: Object

options.cwd
类型: String 默认值: process.cwd()
输出目录的 cwd 参数,只在所给的输出目录是相对路径时候有效。
options.mode
类型: String 默认值: 0777
八进制权限字符,用以定义所有在输出目录中所创建的目录的权限。
  • D.gulp.dest() 可以将它 pipe 到多个文件夹。如果某文件夹不存在,将会自动创建它;
gulp.src('./client/templates/*.jade')
  .pipe(jade())
  .pipe(gulp.dest('./build/templates'))
  .pipe(minify())
  .pipe(gulp.dest('./build/minified_templates'));
  • 4) 运行任务
Paste_Image.png
  • 5) 运行结果
Paste_Image.png

能否将类库文件和普通js文件分别合并?

代码

//调用gulp模块
var gulp = require('gulp')
var concat = require('gulp-concat');
var sourcemaps = require('gulp-sourcemaps');

//用gulp建立一个javascript任务 依赖 lib 任务
gulp.task('javascript',['lib'], function() {
  return gulp.src(['scripts/**/*.js','!scripts/lib/*.js'])
    .pipe(concat('index.js'))
    .pipe(gulp.dest('js'));
});

//用gulp建立一个合并类库文件的任务
gulp.task('lib', function() {
  return gulp.src('scripts/lib/*.js')
    .pipe(concat('vendor.js'))
    .pipe(gulp.dest('js'));
});

运行任务(javascript 任务依赖 lib 任务 所以 lib 任务会先执行,然后再执行 javascript任务)

Paste_Image.png

运行结果

Paste_Image.png

OK ! 文件已生成,接下来引用文件,不用我再废话了吧~~~

<script src="js/vendor.js"></script>
<script src="js/index.js"></script>

注:本系列文章只做简单入门,深入了解请自行修行。

相关文章

  • 【二】gulp之用gulp-concat合并js文件

    还记得上一篇我说的那个js文件合并的例子吗?这一篇我们就来做这个 1) 目录结构 2)安装合并所需插件 gulp做...

  • gulp实用插件

    gulp-rename 重命名 delete 清除目录 gulp-concat 合并文件 gulp-zip gu...

  • gulp篇:速玩JS文件合并和压缩

    gulp合并插件 安装:npm install gulp-concat --save-dev 安装好之后 var ...

  • gulp前端工程化教程

    gulp npm install -g gulp-concat 文件打包npm install -g gulp-r...

  • gulp配置

    一、组件 1、gulp-concat 代码合并 2、gulp-autoprefixer:css代码自动补全前缀 3...

  • gulp-concat js-压缩并合并

    引入 gulp 模块 引入 uglify 压缩 模块 引入 js 合并模块 压缩 并 合并 js文件

  • gulp插件(7) - gulp-concat(文件合并)

    功能描述 合并文件,减少网络请求。 插件安装 使用方法 例1:基本使用 例2:与插件gulp-less(不会用?请...

  • 前端自动化工具之gulp

    gulp 作用压缩、合并js和css 文件 文件的压缩合并可以减少缓存 减少文件的网络请求可以提高网页速度,所以g...

  • gulp压缩合并文件

    gulp压缩合并文件流程 //引入gulp和gulp插件var gulp = require('gulp');va...

  • 优化资源

    文件最小化/文件压缩 js和css文件通过gulp,webpack等工具合并、压缩,减少用户流量,小图片可以在打包...

网友评论

    本文标题:【二】gulp之用gulp-concat合并js文件

    本文链接:https://www.haomeiwen.com/subject/czqbittx.html