配置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 相关文章推荐
jquery提取元素里的纯文本不包含span等里的内容
Sep 30 Javascript
下拉列表select 由左边框移动到右边示例
Dec 04 Javascript
JS中如何设置readOnly的值
Dec 25 Javascript
在JavaScript中判断整型的N种方法示例介绍
Jun 18 Javascript
AngularJS 模块化详解及实例代码
Sep 14 Javascript
JavaScript数组复制详解
Feb 02 Javascript
关于meta viewport中target-densitydpi属性详解(推荐)
Aug 18 Javascript
详解vue-cil和webpack中本地静态图片的路径问题解决方案
Sep 27 Javascript
Vue添加请求拦截器及vue-resource 拦截器使用
Nov 23 Javascript
详解如何探测小程序返回到webview页面
May 14 Javascript
Vue插件之滑动验证码用法详解
Apr 05 Javascript
前端如何实现动画过渡效果
Feb 05 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的Yii框架中缓存的一些高级用法
2016/03/29 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
js提交form表单,并传递参数的实现方法
2016/05/25 Javascript
JQuery控制图片由中心点逐渐放大效果
2016/06/26 Javascript
jquery pagination插件动态分页实例(Bootstrap分页)
2016/12/23 Javascript
整理关于Bootstrap过渡动画的慕课笔记
2017/03/29 Javascript
JS变量及其作用域
2017/03/29 Javascript
mint-ui 时间插件使用及获取选择值的方法
2018/02/09 Javascript
vuejs 动态添加input框的实例讲解
2018/08/24 Javascript
Vue CLI3 如何支持less的方法示例
2018/08/29 Javascript
基于Vue组件化的日期联动选择器功能的实现代码
2018/11/30 Javascript
js实现点击烟花特效
2020/10/14 Javascript
[54:08]LGD女子刀塔学院 DOTA2炼金术士教学
2014/01/09 DOTA
python用ConfigObj读写配置文件的实现代码
2013/03/04 Python
Python中的闭包详细介绍和实例
2014/11/21 Python
Python下的twisted框架入门指引
2015/04/15 Python
Django Highcharts制作图表
2016/08/27 Python
pycharm安装图文教程
2017/05/02 Python
python中使用%与.format格式化文本方法解析
2017/12/27 Python
分分钟入门python语言
2018/03/20 Python
Python监控服务器实用工具psutil使用解析
2019/12/19 Python
解决Django no such table: django_session的问题
2020/04/07 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
Python暴力破解Mysql数据的示例
2020/11/09 Python
pandas抽取行列数据的几种方法
2020/12/13 Python
Python之多进程与多线程的使用
2021/02/23 Python
Parfume Klik丹麦:香水网上商店
2018/07/10 全球购物
Yves Rocher伊夫·黎雪美国官网:法国始创植物美肌1959
2019/01/09 全球购物
英国男女豪华配饰和礼品网站:Black.co.uk
2020/02/28 全球购物
写出二分查找算法的两种实现
2013/05/13 面试题
你们项目是如何进行变更控制的
2015/08/26 面试题
会计专业自我评价
2014/02/12 职场文书
《雕塑之美》教学反思
2014/04/24 职场文书
小学趣味运动会加油稿
2014/09/25 职场文书
2015年保险业务员工作总结
2015/05/27 职场文书
会计实训总结范文
2015/08/03 职场文书