配置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 变量类型转换常用函数与代码[比较全]
Dec 01 Javascript
javascript下4个跨浏览器必备的函数
Mar 07 Javascript
纯JavaScript实现的完美渐变弹出层效果代码
Apr 02 Javascript
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
Sep 19 Javascript
jQuery根据纬度经度查看地图处理程序
May 08 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
Jun 20 Javascript
由ReactJS的Hello world说开来
Jul 02 Javascript
jQuery Validate初步体验(一)
Dec 12 Javascript
JS实现简单的天数计算器完整实例
Apr 28 Javascript
简单实现JavaScript弹幕效果
Aug 27 Javascript
vuex的使用及持久化state的方式详解
Jan 23 Javascript
vue使用refs获取嵌套组件中的值过程
Mar 31 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项目中比较通用的php自建函数的详解
2013/06/06 PHP
php实现ip白名单黑名单功能
2015/03/12 PHP
Zend Framework基本页面布局分析
2016/03/19 PHP
PHP之将POST数据转化为字符串的实现代码
2016/11/03 PHP
javascript 子窗体父窗体相互传值方法
2010/05/31 Javascript
AngularJS HTML DOM详解及示例代码
2016/08/17 Javascript
JavaScript每天必学之数组和对象部分
2016/09/17 Javascript
第一次接触神奇的Bootstrap
2016/10/14 Javascript
深入理解Vue Computed计算属性原理
2018/05/29 Javascript
JavaScript实现仿Clock ISO时钟
2018/06/29 Javascript
详解webpack打包后如何调试的方法步骤
2018/11/07 Javascript
在Web关闭页面时发送Ajax请求的实现方法
2019/03/07 Javascript
微信小程序wx.request拦截器使用详解
2019/07/09 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
2020/05/18 Javascript
Vue环境搭建+VSCode+Win10的详细教程
2020/08/19 Javascript
[01:42]TI4西雅图DOTA2前线报道 第一顿早饭哦
2014/07/08 DOTA
[56:57]LGD vs VP 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第一场 8.20.mp4
2019/08/22 DOTA
Python实现去除代码前行号的方法
2015/03/10 Python
python自动裁剪图像代码分享
2017/11/25 Python
Python标准模块--ContextManager上下文管理器的具体用法
2017/11/27 Python
Python实现求解括号匹配问题的方法
2018/04/17 Python
运行django项目指定IP和端口的方法
2018/05/14 Python
使用python绘制cdf的多种实现方法
2020/02/25 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
2020/05/20 Python
css3 column实现卡片瀑布流布局的示例代码
2018/06/22 HTML / CSS
个人简历的自荐信
2013/10/23 职场文书
计算机专业毕业生自荐信
2013/12/31 职场文书
2014两会学习心得:榜样精神伴我行
2014/03/17 职场文书
中学生期中自我鉴定
2014/04/20 职场文书
企业安全生产演讲稿
2014/05/09 职场文书
学校节能减排方案
2014/06/13 职场文书
另类冲刺标语
2014/06/24 职场文书
出生公证书
2015/01/23 职场文书
单位接收函格式
2015/01/30 职场文书
2015年小学生国庆节演讲稿
2015/07/30 职场文书
一文搞懂php的垃圾回收机制
2021/06/18 PHP