配置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 相关文章推荐
推荐11款jQuery开发的复选框和单选框美化插件
Aug 02 Javascript
鼠标经过显示二级菜单js特效
Aug 13 Javascript
jquery获取radio值(单选组radio)
Oct 16 Javascript
javascript中数组的定义及使用实例
Jan 21 Javascript
JavaScript截取、切割字符串的技巧
Jan 07 Javascript
javascript和jquery实现用户登录验证
May 04 Javascript
JavaScript中的this引用(推荐)
Aug 05 Javascript
Js遍历键值对形式对象或Map形式的方法
Aug 08 Javascript
利用JS判断鼠标移入元素的方向
Dec 11 Javascript
服务端预渲染之Nuxt(使用篇)
Apr 08 Javascript
Vue-Cli 3.0 中配置高德地图的两种方式
Jun 19 Javascript
vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解
Dec 15 Vue.js
基于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 工厂模式使用方法
2010/05/18 PHP
php实现简易聊天室应用代码
2015/09/23 PHP
jquery attr 设定src中含有&amp;(宏)符号问题的解决方法
2011/07/26 Javascript
javascript对select标签的控制(option选项/select)
2013/01/31 Javascript
JavaScript中用sort()方法对数组元素进行排序的操作
2015/06/09 Javascript
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
jQuery焦点图插件SaySlide
2015/12/21 Javascript
Js实现中国公民身份证号码有效性验证实例代码
2017/05/03 Javascript
JS实现移动端按首字母检索城市列表附源码下载
2017/07/05 Javascript
security.js实现的RSA加密功能示例
2018/06/06 Javascript
Vuerouter的beforeEach与afterEach钩子函数的区别
2018/12/26 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
2019/06/27 Javascript
JavaScript使用百度ECharts插件绘制饼图操作示例
2019/11/26 Javascript
[49:11]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.20
2020/12/23 DOTA
[06:45]DOTA2-DPC中国联赛 正赛 Magma vs LBZS 选手采访
2021/03/11 DOTA
python执行shell获取硬件参数写入mysql的方法
2014/12/29 Python
Python中的with语句与上下文管理器学习总结
2016/06/28 Python
django 发送手机验证码的示例代码
2018/04/25 Python
Appium+python自动化怎么查看程序所占端口号和IP
2019/06/14 Python
python绘图模块matplotlib示例详解
2019/07/26 Python
python 并发编程 阻塞IO模型原理解析
2019/08/20 Python
python定时任务 sched模块用法实例
2019/11/04 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
2020/02/07 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
2020/03/27 Python
如何让PyQt5中QWebEngineView与JavaScript交互
2020/10/21 Python
详解通过变换矩阵实现canvas的缩放功能
2019/01/14 HTML / CSS
Lookfantastic葡萄牙官方网站:欧洲第一大化妆品零售商
2018/03/17 全球购物
防沙治沙典型材料
2014/05/07 职场文书
假面舞会策划方案
2014/05/29 职场文书
商务英语专业求职信
2014/06/26 职场文书
2014年房地产工作总结范文
2014/11/19 职场文书
幼儿园学前班幼儿评语
2014/12/29 职场文书
教导主任个人总结
2015/03/03 职场文书
劳动仲裁代理词范文
2015/05/25 职场文书
公司岗位说明书
2015/10/08 职场文书
Python echarts实现数据可视化实例详解
2022/03/03 Python