配置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 location几个方法小姐
Jul 09 Javascript
ASP中Sub和Function的区别说明
Aug 30 Javascript
DOM节点删除函数removeChild()用法实例
Jan 12 Javascript
Angularjs中使用指令绑定点击事件的方法
Mar 30 Javascript
d3.js实现自定义多y轴折线图的示例代码
May 30 Javascript
利用Bootstrap Multiselect实现下拉框多选功能
Apr 08 Javascript
Vue项目中使用better-scroll实现菜单映射功能方法
Sep 11 Javascript
javaScript中indexOf用法技巧
Nov 26 Javascript
uni-app使用countdown插件实现倒计时
Nov 01 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
Nov 06 Javascript
详解如何在vue+element-ui的项目中封装dialog组件
Dec 11 Vue.js
抖音短视频(douyin)去水印工具的实现代码
Mar 30 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正则表达式中的非贪婪模式匹配的使用
2014/11/25 PHP
PHP生成唯一订单号的方法汇总
2015/04/16 PHP
php编程每天必学之表单验证
2016/03/01 PHP
php文件上传类完整实例
2016/05/14 PHP
JavaScript静态的动态
2006/09/18 Javascript
Script标签与访问HTML页面详解
2014/01/10 Javascript
javascript中arguments,callee,caller详解
2016/03/16 Javascript
js无法获取到html标签的属性的解决方法
2016/07/26 Javascript
JavaScript在form表单中使用button按钮实现submit提交方法
2017/01/23 Javascript
pm2 部署 node的三种方法示例
2017/10/20 Javascript
Node.js实现注册邮箱激活功能的方法示例
2018/03/23 Javascript
vue实现自定义日期组件功能的实例代码
2018/11/06 Javascript
微信小程序自定义导航栏
2018/12/31 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
2020/05/14 Javascript
Vue自定义表单内容检查rules实例
2020/10/30 Javascript
JS实现手风琴特效
2020/11/08 Javascript
[02:32]【DOTA2亚洲邀请赛】iceice,梦开始的地方
2017/03/13 DOTA
python导出chrome书签到markdown文件的实例代码
2017/12/27 Python
利用PyCharm Profile分析异步爬虫效率详解
2019/05/08 Python
flask 实现token机制的示例代码
2019/11/07 Python
python计算无向图节点度的实例代码
2019/11/22 Python
Python3将ipa包中的文件按大小排序
2020/04/17 Python
Pandas中两个dataframe的交集和差集的示例代码
2020/12/13 Python
详解matplotlib中pyplot和面向对象两种绘图模式之间的关系
2021/01/22 Python
介绍一下linux文件系统分配策略
2012/11/17 面试题
行政专员岗位职责
2014/01/02 职场文书
幸福家庭事迹材料
2014/02/03 职场文书
跟单业务员岗位职责
2014/03/08 职场文书
安全责任协议书
2014/04/21 职场文书
献爱心活动总结
2014/05/07 职场文书
商业街策划方案
2014/05/31 职场文书
临床医学专业求职信
2014/08/08 职场文书
年终工作总结范文2014
2014/11/27 职场文书
2014年音乐教师工作总结
2014/12/03 职场文书
2016年社会管理综治宣传月活动总结
2016/03/16 职场文书
MySQL常用慢查询分析工具详解
2022/08/14 MySQL