配置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 相关文章推荐
在页面上点击任一链接时触发一个事件的代码
Apr 07 Javascript
JQuery以JSON方式提交数据到服务端示例代码
May 05 Javascript
使用javascript插入样式
Mar 14 Javascript
Javascript 实现计算器时间功能详解及实例(二)
Jan 08 Javascript
老生常谈的跨域处理
Jan 11 Javascript
原生JS实现《别踩白块》游戏(兼容IE)
Feb 20 Javascript
简单实现js菜单栏切换效果
Mar 04 Javascript
JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码
Sep 07 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
Nov 22 Javascript
解决jquery有正确返回值但不执行success函数的问题
Aug 20 jQuery
10分钟彻底搞懂Http的强制缓存和协商缓存(小结)
Aug 30 Javascript
js canvas实现俄罗斯方块
Oct 11 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合并两个数组的两种方式的异同
2012/09/14 PHP
thinkphp实现163、QQ邮箱收发邮件的方法
2015/12/18 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
2017/08/11 PHP
浅析PHP7的多进程及实例源码
2019/04/14 PHP
利用PHP计算有多少小于当前数字的数字方法示例
2020/08/26 PHP
jquery制作弹窗提示窗口代码分享
2014/03/02 Javascript
Javascript学习笔记之函数篇(五) : 构造函数
2014/11/23 Javascript
JavaScript中的this机制
2016/01/30 Javascript
jQuery实现的多张图无缝滚动效果【测试可用】
2016/09/12 Javascript
针对后台列表table拖拽比较实用的jquery拖动排序
2016/10/10 Javascript
JavaScript如何实现图片懒加载(lazyload) 提高用户体验(增强版)
2016/11/30 Javascript
Vue自定义指令介绍(2)
2016/12/08 Javascript
详解微信小程序调起键盘性能优化
2018/07/24 Javascript
nodejs 使用nodejs-websocket模块实现点对点实时通讯
2018/11/28 NodeJs
小程序指纹验证的实现代码
2018/12/04 Javascript
vscode配置vue下的es6规范自动格式化详解
2019/03/20 Javascript
vue实现记事本功能
2019/06/26 Javascript
Javascript 关于基本类型和引用类型的个人理解
2019/11/01 Javascript
javascript数组元素删除方法delete和splice解析
2019/12/09 Javascript
Python实现递归遍历文件夹并删除文件
2016/04/18 Python
python如何实现反向迭代
2018/03/20 Python
Django框架的中的setting.py文件说明详解
2018/10/15 Python
python 获取url中的参数列表实例
2018/12/18 Python
python实现简单日期工具类
2019/04/24 Python
python3+PyQt5 实现Rich文本的行编辑方法
2019/06/17 Python
python的re模块使用方法详解
2019/07/26 Python
浅析PyTorch中nn.Module的使用
2019/08/18 Python
Django获取model中的字段名和字段的verbose_name方式
2020/05/19 Python
小程序canvas中文字设置居中锚点
2019/04/16 HTML / CSS
FC-Moto西班牙:摩托车手最大的购物场所之一
2019/04/11 全球购物
GafasWorld西班牙:购买太阳镜、眼镜和隐形眼镜
2019/09/08 全球购物
优秀中学生事迹材料
2014/01/31 职场文书
社区工作者感言
2014/03/02 职场文书
2015年城管个人工作总结范文
2015/04/20 职场文书
python 解决微分方程的操作(数值解法)
2021/05/26 Python
mysql中varchar类型的日期进行比较、排序等操作的实现
2021/11/17 MySQL