配置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 相关文章推荐
TFDN图片播放器 不错自动播放
Oct 03 Javascript
javascript 三种编解码方式
Feb 01 Javascript
javascript跨域刷新实现代码
Jan 01 Javascript
jquery 插件学习(三)
Aug 06 Javascript
js实现目录定位正文示例
Nov 14 Javascript
JavaScript返回当前会话cookie全部键值对照的方法
Apr 03 Javascript
js剪切板应用clipboardData实例解析
May 29 Javascript
node.js基于express使用websocket的方法
Nov 09 Javascript
手写简单的jQuery雪花飘落效果实例
Apr 22 jQuery
javascrit中undefined和null的区别详解
Apr 07 Javascript
Vue开发之封装分页组件与使用示例
Apr 25 Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
Jun 02 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的array_multisort()使用方法介绍
2012/05/16 PHP
php获取网页标题和内容函数(不包含html标签)
2014/02/03 PHP
php5.3后静态绑定用法详解
2016/11/11 PHP
php写入文件不覆盖的实例讲解
2019/09/17 PHP
让iframe子窗体取父窗体地址栏参数(querystring)
2009/10/13 Javascript
js AppendChild与insertBefore用法详细对比
2013/12/16 Javascript
原生js结合html5制作小飞龙的简易跳球
2015/03/30 Javascript
在JavaScript中使用开平方根的sqrt()方法
2015/06/15 Javascript
JavaScript地理位置信息API
2016/06/11 Javascript
JS获取随机数和时间转换的简单实例
2016/07/10 Javascript
jQuery实现下拉框多选 jquery-multiselect 的实例代码
2016/07/14 Javascript
使用bootstrap validator的remote验证代码经验分享(推荐)
2016/09/21 Javascript
React学习之事件绑定的几种方法对比
2017/09/24 Javascript
jQuery实现仿京东防抖动菜单效果示例
2018/07/06 jQuery
基于vue-upload-component封装一个图片上传组件的示例
2018/10/16 Javascript
JavaScript函数式编程(Functional Programming)组合函数(Composition)用法分析
2019/05/22 Javascript
通过说明与示例了解js五种设计模式
2019/06/17 Javascript
基于vue写一个全局Message组件的实现
2019/08/15 Javascript
Python批量修改文件后缀的方法
2014/01/26 Python
python开发之基于thread线程搜索本地文件的方法
2015/11/11 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
详解python 3.6 安装json 模块(simplejson)
2019/04/02 Python
python智联招聘爬虫并导入到excel代码实例
2019/09/09 Python
python3.7实现云之讯、聚合短信平台的短信发送功能
2019/09/26 Python
Python中内建模块collections如何使用
2020/05/27 Python
Python3爬虫关于识别点触点选验证码的实例讲解
2020/07/30 Python
CSS3实现超慢速移动动画效果非常流畅无卡顿
2014/06/15 HTML / CSS
美国饼干礼物和美食甜点购买网站:Cheryl’s
2020/05/28 全球购物
小学生期末评语大全
2014/04/21 职场文书
汽车技术服务与贸易专业求职信
2014/07/20 职场文书
国情备忘录观后感
2015/06/04 职场文书
2016年春季开学典礼新闻稿
2015/11/25 职场文书
如何利用pygame实现打飞机小游戏
2021/05/30 Python
Python批量解压&压缩文件夹的示例代码
2022/04/04 Python
vue使用wavesurfer.js解决音频可视化播放问题
2022/04/04 Vue.js
Python sklearn分类决策树方法详解
2022/09/23 Python