配置Grunt的Task时通配符支持和动态生成文件名问题


Posted in Javascript onSeptember 06, 2015
copy: { 
  // 这是Task里的其中一个Target 
  dests: { 
   expand: true, 
   cwd: '<%=config.app%>/newFolder', 
   src: ['**/{a*,b*}.html'], 
   dest: '<%=config.dist%>/newFolder', 
   ext: ".shtml", 
   extDot: "first", 
   flatten:true, //去掉中间上当,下面的rename可以再找回来 
   rename: function( dest, fileName ) { 
    return dest + "/" +fileName; 
   } 
  } 
 }

通配符支持:由nodejs内置的node-glob库支持,这些都可以用在上面所说的各种文件配置中

1、*匹配任何字符,除了/

2、?匹配单个字符,除了/

3、**匹配任何字符,包括/,所以用在目录路径里面

4、{}逗号分割的“或”操作(逗号后面不要有空格)

5、! 排除某个匹配

动态生成文件名:

expand 设置为true打开以下选项,如果设为true,就表示下面文件名的占位符(即*号)都要扩展成具体的文件名。

cwd 所有src指定的文件相对于这个属性指定的路径,需要处理的文件(input)所在的目录

src 要匹配的路径,相对与cwd,表示需要处理的文件。如果采用数组形式,数组的每一项就是一个文件名,可以使用通配符

dest 生成的目标路径前缀,表示处理后的文件名或所在目

ext 表示处理后的文件后缀名。替换所有生成的目标文件后缀为这个属性

extDot:first:表示以文件名后的第一个点后面开始作为后缀名;last:表示以文件名后的最后一个点后面开始作为后缀名

flatten:删除所有生成的dest的路径部分,值为boolean类型(true、false)用来指定是否保持文件目录结构,true是保持文件目录

rename 一个函数,接受匹配到的文件名,和匹配的目标位置,返回一个新的目标路径

以上就是本文给大家介绍的在配置Grunt的Task时通配符支持和动态生成文件名问题,希望对大家有所帮助。

Javascript 相关文章推荐
javascript firefox不显示本地预览图片问题的解决方法
Nov 12 Javascript
FireFox JavaScript全局Event对象
Jun 14 Javascript
javascript 静态对象和构造函数的使用和公私问题
Mar 02 Javascript
基于Jquery实现表单验证
Jul 20 Javascript
jQuery实现鼠标选中文字后弹出提示窗口效果【附demo源码】
Sep 05 Javascript
Vue.js -- 过滤器使用总结
Feb 18 Javascript
vue v-model表单控件绑定详解
May 17 Javascript
深入理解JavaScript 参数按值传递
May 24 Javascript
页面点击小红心js实现代码
May 26 Javascript
webpack HappyPack实战详解
Oct 08 Javascript
vue项目实现减少app.js和vender.js的体积操作
Nov 12 Javascript
JS轻量级函数式编程实现XDM三
Jun 16 Javascript
基于jquery实现的树形菜单效果代码
Sep 06 #Javascript
jQuery.extend 函数及用法详细
Sep 06 #Javascript
jquery动态导航插件dynamicNav用法实例分析
Sep 06 #Javascript
jquery实现可自动收缩的TAB网页选项卡代码
Sep 06 #Javascript
jquery实现初次打开有动画效果的网页TAB切换代码
Sep 06 #Javascript
js实现简洁的TAB滑动门效果代码
Sep 06 #Javascript
js实现左侧网页tab滑动门效果代码
Sep 06 #Javascript
You might like
使用swoole扩展php websocket示例
2014/02/13 PHP
PHP如何使用Memcached
2016/04/05 PHP
PHP CURL与java http使用方法详解
2018/01/26 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
通过实例解析PHP数据类型转换方法
2020/07/11 PHP
js循环改变div颜色具体方法
2013/06/25 Javascript
js导入导出excel(实例代码)
2013/11/25 Javascript
输入框过滤非数字的js代码
2014/09/18 Javascript
javascript使用正则表达式实现去掉空格之后的字符
2015/02/15 Javascript
Javascript中的匿名函数与封装介绍
2015/03/15 Javascript
JS+CSS实现仿触屏手机拨号盘界面及功能模拟完整实例
2015/05/16 Javascript
js实现对ajax请求面向对象的封装
2016/01/08 Javascript
网页中JS函数自动执行常用三种方法
2016/03/30 Javascript
基于Jquery插件Uploadify实现实时显示进度条上传图片
2020/03/26 Javascript
JS控制页面跳转时未请求要跳转的地址怎么回事
2016/10/14 Javascript
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
2017/07/17 Javascript
简单实现js鼠标跟随效果
2020/08/02 Javascript
基于jQuery实现的单行公告活动轮播效果
2017/08/23 jQuery
js 中rewrap-ajax.js插件实例代码
2017/10/20 Javascript
Angular6项目打包优化的实现方法
2019/12/15 Javascript
关于ES6尾调用优化的使用
2020/09/11 Javascript
解决vue项目中出现Invalid Host header的问题
2020/11/17 Javascript
微信小程序实现首页弹出广告
2020/12/03 Javascript
[02:01]大师之路——DOTA2完美大师赛11月论剑上海
2017/11/06 DOTA
python之文件的读写和文件目录以及文件夹的操作实现代码
2016/08/28 Python
利用Hyperic调用Python实现进程守护
2018/01/02 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
2018/06/13 Python
python使用pandas处理大数据节省内存技巧(推荐)
2019/05/05 Python
Python生成一个迭代器的实操方法
2019/06/18 Python
纯css3实现照片墙效果
2014/12/26 HTML / CSS
使用html5 canvas绘制圆环动效
2019/06/03 HTML / CSS
教师岗位聘任书范文
2014/03/29 职场文书
丧事主持词大全
2014/04/02 职场文书
师范生免费教育协议书范本
2014/10/09 职场文书
nginx配置虚拟主机的详细步骤
2021/07/21 Servers