配置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获取距今n天前的日期
Jul 08 Javascript
JS选项卡动态替换banner图片路径的方法
May 11 Javascript
JavaScript实现标题栏文字轮播效果代码
Oct 24 Javascript
js操作数组函数实例小结
Dec 10 Javascript
javascript数据结构中栈的应用之符号平衡问题
Apr 11 Javascript
用vue封装插件并发布到npm的方法步骤
Oct 18 Javascript
通过一次报错详细谈谈Point事件
May 17 Javascript
React性能优化系列之减少props改变的实现方法
Jan 17 Javascript
Vue 组件参数校验与非props特性的方法
Feb 12 Javascript
聊聊Vue 中 title 的动态修改问题
Jun 11 Javascript
vue 实现websocket发送消息并实时接收消息
Dec 09 Javascript
vue使用echarts实现折线图
Mar 21 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
Windows下的PHP安装文件线程安全和非线程安全的区别
2014/04/23 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
Laravel框架实现调用百度翻译API功能示例
2019/05/30 PHP
laravel 实现关闭CSRF(全部关闭、部分关闭)
2019/10/21 PHP
javascript小数计算出现近似值的解决办法
2010/02/06 Javascript
用javascript判断IE版本号简单实用且向后兼容
2013/09/11 Javascript
js 动态加载事件的几种方法总结
2013/12/25 Javascript
jquery对象与DOM对象转化
2017/02/08 Javascript
解决webpack -p压缩打包react报语法错误的方法
2017/07/03 Javascript
大转盘抽奖小程序版 转盘抽奖网页版
2020/04/16 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
2020/07/21 Javascript
Python装饰器原理与用法分析
2018/04/30 Python
Python2和Python3中urllib库中urlencode的使用注意事项
2018/11/26 Python
python实现浪漫的烟花秀
2019/01/30 Python
python使用tkinter库实现五子棋游戏
2019/06/18 Python
python3.6连接mysql数据库及增删改查操作详解
2020/02/10 Python
python使用多线程+socket实现端口扫描
2020/05/28 Python
canvas进阶之如何画出平滑的曲线
2018/10/15 HTML / CSS
HTML5 drag和drop具体使用详解
2021/01/18 HTML / CSS
马克华菲官方商城:Mark Fairwhale
2016/09/04 全球购物
全球性的在线购物网站:Zapals
2017/03/22 全球购物
上班早退检讨书
2014/01/09 职场文书
2014年高三毕业生自我评价
2014/01/11 职场文书
五年级音乐教学反思
2014/02/06 职场文书
优秀公益广告词大全
2014/03/19 职场文书
实习报告评语
2014/04/26 职场文书
学校班班通实施方案
2014/06/11 职场文书
学校安全管理责任书
2014/07/23 职场文书
汽车转让协议书范本
2014/12/07 职场文书
2015年医院科室工作总结范文
2015/05/26 职场文书
2019邀请函格式及范文
2019/05/20 职场文书
传单、海报早OUT了,另类传单营销方案送给你!
2019/07/15 职场文书
JS监听Esc 键触发事键
2021/04/14 Javascript
Python实现制作销售数据可视化看板详解
2021/11/27 Python
Redis中缓存穿透/击穿/雪崩问题和解决方法
2021/12/04 Redis
Python中的 Set 与 dict
2022/03/13 Python