配置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 相关文章推荐
限制文本字节数js代码
Mar 06 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
Jun 23 Javascript
Web开发者必备的12款超赞jQuery插件
Dec 03 Javascript
JS实现根据当前文字选择返回被选中的文字
May 21 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
Nov 17 Javascript
js的form表单提交url传参数(包含+等特殊字符)的两种解决方法
May 25 Javascript
jQuery实现的跨容器无缝拖动效果代码
Jun 21 Javascript
详解Angualr 组件间通信
Jan 21 Javascript
Javascript 实现匿名递归的实例代码
May 25 Javascript
用React实现一个完整的TodoList的示例代码
Oct 30 Javascript
基于JS实现数字动态变化显示效果附源码
Jul 18 Javascript
jQuery zTree树插件的使用教程
Aug 16 jQuery
基于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/06/05 PHP
必须收藏的php实用代码片段
2016/02/02 PHP
Smarty简单生成表单元素的方法示例
2016/05/23 PHP
PHP后台实现微信小程序登录
2018/08/03 PHP
动态调用CSS文件的JS代码
2010/07/29 Javascript
如何使用HTML5地理位置定位功能
2015/04/27 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
2015/11/26 Javascript
全面解析Bootstrap手风琴效果
2020/04/17 Javascript
JS提示:Uncaught SyntaxError:Unexpected token ) 错误的解决方法
2016/08/19 Javascript
JavaScript获取URL参数的方法之一
2017/03/24 Javascript
jQuery validata插件实现方法
2017/06/25 jQuery
JQuery实现简单的复选框树形结构图示例【附源码下载】
2019/07/16 jQuery
基于JS+HTML实现弹窗提示是否确认提交功能
2020/06/17 Javascript
Python常用随机数与随机字符串方法实例
2015/04/09 Python
python pandas dataframe 按列或者按行合并的方法
2018/04/12 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
2018/11/23 Python
Python如何实现小程序 无限求和平均
2020/02/18 Python
Python使用socket模块实现简单tcp通信
2020/08/18 Python
Python中的None与 NULL(即空字符)的区别详解
2020/09/24 Python
HTML5 直播疯狂点赞动画实现代码 附源码
2020/04/14 HTML / CSS
Smallable意大利家庭概念店:设计师童装及家居装饰
2018/01/08 全球购物
英国50岁以上人群的交友网站:Ourtime
2018/03/28 全球购物
eBay爱尔兰站:eBay.ie
2019/08/09 全球购物
extern在函数声明中是什么意思
2014/01/19 面试题
如何开启linux的ssh服务
2015/02/14 面试题
手机促销活动方案
2014/02/05 职场文书
大型活动组织方案
2014/05/10 职场文书
岗位说明书标准范本
2014/07/30 职场文书
渠道运营商合作协议书范本
2014/10/06 职场文书
小学五一劳动节活动总结
2015/02/09 职场文书
2015年人事专员工作总结
2015/04/29 职场文书
2015元旦感言
2015/12/09 职场文书
apache基于端口创建虚拟主机的示例
2021/04/24 Servers
Python进度条的使用
2021/05/17 Python
MySQL系列之五 视图、存储函数、存储过程、触发器
2021/07/02 MySQL
numpy array找出符合条件的数并赋值的示例代码
2022/06/01 Python