配置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 相关文章推荐
关于IFRAME 自适应高度的研究
Jul 20 Javascript
Code: write(s,d) 输出连续字符串
Aug 19 Javascript
一个XML格式数据转换为图表的例子
Feb 09 Javascript
JS网页播放声音实现代码兼容各种浏览器
Sep 22 Javascript
如何将网页表格内容导入excel
Feb 18 Javascript
原生javascript实现简单的datagrid数据表格
Jan 02 Javascript
JS实现网页上随机产生超链接地址的方法
Nov 09 Javascript
Spring Boot+AngularJS+BootStrap实现进度条示例代码
Mar 02 Javascript
AngularJS 单选框及多选框的双向动态绑定
Apr 20 Javascript
JS实现统计字符串中字符出现个数及最大个数功能示例
Jun 04 Javascript
Vue中的v-for循环key属性注意事项小结
Aug 12 Javascript
Vue+ElementUI项目使用webpack输出MPA的方法
Aug 27 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
PHP 危险函数全解析
2009/09/09 PHP
基于PHP常用字符串的总结(待续)
2013/06/07 PHP
PHP中mysqli_affected_rows作用行数返回值分析
2014/12/26 PHP
php使用正则表达式获取图片url的方法
2015/01/16 PHP
php查找字符串中第一个非0的位置截取
2017/02/27 PHP
JQuery 浮动导航栏实现代码
2009/08/27 Javascript
JQuery 获取json数据$.getJSON方法的实例代码
2013/08/02 Javascript
js数组转json并在后台对其解析具体实现
2013/11/20 Javascript
js操作table示例(个人心得)
2013/11/29 Javascript
js树插件zTree获取所有选中节点数据的方法
2015/01/28 Javascript
跟我学习javascript的this关键字
2020/05/28 Javascript
jQuery中trigger()与bind()用法分析
2015/12/18 Javascript
全面理解JavaScript中的继承(必看)
2016/06/16 Javascript
jquery mobile 实现自定义confirm确认框效果的简单实例
2016/06/17 Javascript
使用jsonp实现跨域获取数据实例讲解
2016/12/25 Javascript
js实现带缓动动画的导航栏效果
2017/01/16 Javascript
详解从angular-cli:1.0.0-beta.28.3升级到@angular/cli:1.0.0
2017/05/22 Javascript
VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析
2019/12/02 Javascript
node.js使用stream模块实现自定义流示例
2020/02/13 Javascript
微信小程序12行js代码自己写个滑块功能(推荐)
2020/07/15 Javascript
[00:10]DOTA2 TI9勇士令状明日上线
2019/05/07 DOTA
Python开发的单词频率统计工具wordsworth使用方法
2014/06/25 Python
Python操作串口的方法
2015/06/17 Python
详解Python中的静态方法与类成员方法
2017/02/28 Python
详解Matplotlib绘图之属性设置
2019/08/23 Python
苏格兰销售女装、男装和童装的连锁店:M&Co
2018/03/16 全球购物
日本最佳原创设计品牌:Felissimo(芬理希梦)
2019/03/19 全球购物
意大利中国电子产品购物网站:Geekmall.com
2019/09/30 全球购物
高级销售求职信
2014/02/21 职场文书
病媒生物防治方案
2014/05/13 职场文书
端午节演讲稿
2014/05/23 职场文书
中药学专业毕业生推荐信
2014/07/10 职场文书
2014领导班子四风剖析对照检查材料思想汇报
2014/09/20 职场文书
会计师事务所实习证明
2014/11/16 职场文书
2014年少先队工作总结
2014/12/03 职场文书
2015年信访工作总结
2015/04/07 职场文书