配置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 相关文章推荐
javascript 禁止复制网页
Jun 11 Javascript
IE下js调试工具Companion.JS
Oct 15 Javascript
js点击文本框后才加载验证码实例代码
Oct 20 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
Nov 18 Javascript
jquery中validate与form插件提交的方式小结
Mar 26 Javascript
json传值以及ajax接收详解
May 24 Javascript
AngularJS 入门教程之事件处理器详解
Aug 19 Javascript
基于Jquery Ajax type的4种类型(详解)
Aug 02 jQuery
JavaScript类数组对象转换为数组对象的方法实例分析
Jul 24 Javascript
浅谈vuex actions和mutation的异曲同工
Dec 13 Javascript
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
May 14 jQuery
解决vue数据不实时更新的问题(数据更改了,但数据不实时更新)
Oct 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 XPath对XML文件查找及修改实现代码
2011/07/27 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
PHP四种基本排序算法示例
2015/04/09 PHP
实例讲解PHP设计模式编程中的简单工厂模式
2016/02/29 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
javascript实现的DES加密示例
2013/10/30 Javascript
php,js,css字符串截取的办法集锦
2014/09/26 Javascript
js图片翻书效果代码分享
2015/08/20 Javascript
jQuery简易时光轴实现方法示例
2017/03/13 Javascript
JavaScript之class继承_动力节点Java学院整理
2017/07/03 Javascript
小程序云开发如何实现图片上传及发表文字
2019/05/17 Javascript
js 计算月/周的第一天和最后一天代码
2020/02/01 Javascript
[04:09]显微镜下的DOTA2第十二期—NaVi美如画的团战
2014/06/23 DOTA
[00:47]TI7不朽珍藏III——沙王不朽展示
2017/07/15 DOTA
[01:05:56]Liquid vs VP Supermajor决赛 BO 第二场 6.10
2018/07/04 DOTA
[32:36]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第二场 12.12
2020/12/16 DOTA
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
Python实现根据IP地址和子网掩码算出网段的方法
2015/07/30 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
2019/07/31 Python
使用Keras中的ImageDataGenerator进行批次读图方式
2020/06/17 Python
python如何从键盘获取输入实例
2020/06/18 Python
python实现简易版学生成绩管理系统
2020/06/22 Python
Python turtle库的画笔控制说明
2020/06/28 Python
Python Matplotlib简易教程(小白教程)
2020/07/28 Python
python des,aes,rsa加解密的实现
2021/01/16 Python
美国设计师精美珠宝购物网:Netaya
2016/08/28 全球购物
Skyscanner澳大利亚:全球领先的旅游搜索网站
2018/03/24 全球购物
新浪网技术部笔试题
2016/08/26 面试题
介绍下WebSphere的安全性
2013/01/31 面试题
一组SQL面试题
2016/02/15 面试题
StringBuilder和String的区别
2015/05/18 面试题
关于Java finally的面试题
2016/04/27 面试题
Jdbc数据访问技术面试题
2012/03/30 面试题
读书演讲主持词
2014/03/18 职场文书
财务经理岗位职责
2015/01/31 职场文书
求职信如何撰写?
2019/05/22 职场文书