1. gulp.dest 会自动创建目录

gulp.dest(dir),若dir不存在,gulp会自动创建它

2. gulp.src copy具名路径(即不子目录**的路径)的文件,不会保留文件夹路径

gulp.src('static/user/user.js')
.pipe(gulp.dest('dist)); gulp.src('static/*.js'); //一级的*.xx文件也不会保留路径

如上,将user.js拷贝到dist,会形成如下结构

dist
  user.js

若要保留路径,即形成

dist
  static
    user
      user.js

需要添加base选项,如下:

gulp.src('static/user/user.js', {base:'.'})
.pipe(gulp.dest('dist));
//或者使用通配符
gulp.src('static*/user*/user.js')
.pipe(gulp.dest('dist));

3. gulp.src copy带有*的路径的文件,会保留文件夹路径

gulp.src('login/**/*.js')
.pipe(gulp.dest('dist'));

复制到dist的文件是带文件夹的

要解决这个问题,有如下方法:

1. gulp-flatten插件可以拍平文件结构

var gulp = require('gulp-flatten');
//转移图片并压缩
gulp.task('copy-images', function() {
return gulp.src(['./src/common/images/**/*'])
.pipe(flatten())
.pipe(imagemin())
.pipe(gulp.dest('./build/images'));
});

2. gulp-rename插件可以修改文件路径和文件名

var gulp = require('gulp-rename');
//转移图片并压缩
gulp.task('copy-images', function() {
return gulp.src(['./src/common/images/**/*'])
.pipe(rename({dirname: ''}))
.pipe(imagemin())
.pipe(gulp.dest('./build/images'));
});

gulp技巧总结的更多相关文章

  1. gulp 技巧

    install npm install --save-dev jshint gulp-jshint 压缩js npm install --save-dev gulp-minify-css xxCSS ...

  2. gulp的使用介绍及技巧

    gulp的使用介绍及技巧 转载: https://www.cnblogs.com/2050/p/4198792.html 1.gulp的安装 首先确保你已经正确安装了nodejs环境.然后以全局方式安 ...

  3. gulp使用技巧-删除node_modules文件夹,解决目录层次太深删除报错的问题

    问题描述: 在使用gulp当中,自动生成的node_modules文件夹,因为文件目录层级太深,无法系统删除,用360粉碎工具也报错 解决方法: 使用npm中的插件rimraf,专门用于删除的模块插件 ...

  4. Gulp插件使用技巧

    目录: 插件的安装卸载 插件使用的基本流程 拆分任务 监听 默认任务 一.插件的安装卸载 安装: npm install gulp-less --save-dev 卸载 npm uninstall g ...

  5. 前端网络、JavaScript优化以及开发小技巧

    一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN ...

  6. WebStorm 常用功能的使用技巧分享

    WebStorm 是 JetBrain 公司开发的一款 JavaScript IDE,使用非常方便,可以使编写代码过程更加流畅. 本文在这里分享一些常用功能的使用技巧,希望能帮助大家更好的使用这款强大 ...

  7. 前端打包构建工具gulp快速入门

    因为之前一直有人给我推荐gulp,说他这里好哪里好的.实际上对我来说够用就行.grunt熟悉以后实际上他的配置也不难,说到效率的话确实是个问题,尤其项目大了以后,目前位置遇到的项目都还可以忍受.不过不 ...

  8. (转)gulp使用

    前端构建工具gulpjs的使用介绍及技巧 gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学习起来很容易,而且gulpjs使用的是nod ...

  9. gulp使用小结(二)

    接上篇文章接Gulp使用小结(一) 内容如下: 首先,偶在gulp-demos上已经提交了个较通用的栗子...俺琢磨半天,原准备分阶段搞些 Gulp 套路,但是写完介个栗子之后,觉得已经能覆盖绝大多数 ...

随机推荐

  1. java后台输入数据的2种方式

    java后台输入数据的2种方式 (1) import java.io.BufferedReader; import java.io.InputStreamReader; public class 输入 ...

  2. spring-bean(注解方式-管理及依赖注入)

    Bean管理(注解方式) 1.添加注解的依赖包:Spring-aop.jar 2.配置spring的XML文件的引入(查官方源码) 3.开启注解的扫描 <context:component-sc ...

  3. mysql 1055 的错误

    1.Err1055,出现这个问题往往是在执行sql语句时候,在最后一行会出现这个问题. [Err] 1055 - Expression #1 of ORDER BY clause is not in ...

  4. myeclipse从SVN上拉项目,各种报错,jar包没有引入

    问:项目中myeclipse从SVN上拉项目,各种报错,jar包没有引入 答: 从SVN拉项目步骤一定不能出错,一有点差异就会出非常多的事情 1-右键项目checkout的时候 第一页选默认值就行 点 ...

  5. request中的那些方法到底是干什么的?

    最近做Java Web项目,在.jsp页面和servlet之间request和response还是有些混淆,查阅了一些资料,总结如下,方便以后使用: 首先,servlet接口是最基本的,提供的五个方法 ...

  6. tcl之文件操作

  7. 【JavaScript高级程序设计】6.1 理解对象

    上一章曾经介绍过,创建自定义对象的最简单方式就是创建一个Object 的实例,然后再为它添加属性和方法,如下所示. var person = new Object(); person.name = & ...

  8. 为什么 redis 单线程却能支撑高并发

    redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发? 这个是问 redis 的时候,最基本的问题吧,redis 最基本的一个内部原理 ...

  9. [CodeForces - 296D]Greg and Graph(floyd)

    Description 题意:给定一个有向图,一共有N个点,给邻接矩阵.依次去掉N个节点,每一次去掉一个节点的同时,将其直接与当前节点相连的边和当前节点连出的边都需要去除,输出N个数,表示去掉当前节点 ...

  10. JDK及配置

    Java Jdk开发时环境,程序员使用 Jre运行时环境,用户使用 Jdk的配置 1.新建java_home   jdk的安装路径 例:C:\Program Files (x86)\Java\jdk1 ...