配置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 相关文章推荐
限制复选框的最大可选数
Jul 01 Javascript
jQuery操作 input type=checkbox的实现代码
Jun 14 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
Jun 03 Javascript
jQuery使用slideUp方法实现控制元素缓慢收起
Mar 27 Javascript
jquery实现可自动判断位置的弹出层效果代码
Oct 12 Javascript
js实现对ajax请求面向对象的封装
Jan 08 Javascript
详解在Vue中如何使用axios跨域访问数据
Jul 07 Javascript
在vue2.0中引用element-ui组件库的方法
Jun 21 Javascript
vue滚动插件better-scroll使用详解
Oct 18 Javascript
微信小程序分享小程序码的生成(带参数)以及参数的获取
Mar 25 Javascript
VUE : vue-cli中去掉路由中的井号#操作
Sep 04 Javascript
详解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实现读取手机客户端浏览器的类
2015/01/09 PHP
PHP实现简单爬虫的方法
2015/07/29 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
2016/09/14 PHP
PHP输出多个元素的排列或组合的方法
2017/03/14 PHP
Avengerls vs Newbee BO3 第一场2.18
2021/03/10 DOTA
window.location和document.location的区别分析
2008/12/23 Javascript
解析jquery中的ajax缓存问题
2013/12/19 Javascript
基于 Docker 开发 NodeJS 应用
2014/07/30 NodeJs
浅谈javascript原型链与继承
2015/07/13 Javascript
每天一篇javascript学习小结(Function对象)
2015/11/16 Javascript
基于javascript实现全屏漂浮广告
2016/03/31 Javascript
Vue.js学习笔记之 helloworld
2016/08/14 Javascript
JSON对象 详解及实例代码
2016/10/18 Javascript
jquery,js简单实现类似Angular.js双向绑定
2017/01/13 Javascript
解决Angular4项目部署到服务器上刷新404的问题
2018/08/31 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
2018/12/02 Javascript
layui写后台表格思路和赋值用法详解
2019/11/14 Javascript
为react组件库添加typescript类型提示的方法
2020/06/15 Javascript
通过滑动翻页效果实现和移动端click事件问题
2021/01/26 Javascript
[01:18]PWL开团时刻DAY10——一拳超人
2020/11/11 DOTA
Python实现动态加载模块、类、函数的方法分析
2017/07/18 Python
使用tensorflow显示pb模型的所有网络结点方式
2020/01/23 Python
python实现简单的购物程序代码实例
2020/03/03 Python
Python基于gevent实现高并发代码实例
2020/05/15 Python
keras在构建LSTM模型时对变长序列的处理操作
2020/06/29 Python
numpy中生成随机数的几种常用函数(小结)
2020/08/18 Python
详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库
2021/01/24 Python
HTML5里的placeholder属性使用实例和美化显示效果的方法
2014/04/23 HTML / CSS
巴西化妆品商店:Lojas Rede
2019/07/26 全球购物
LN-CC中国:高端男装和女装的奢侈时尚目的地
2019/09/14 全球购物
服装设计专业自荐书范文
2013/12/30 职场文书
学历公证书范本
2014/04/09 职场文书
长城导游词300字
2015/01/30 职场文书
某某店铺的开业庆典主持词范本
2019/11/25 职场文书
一篇文章带你深入了解Mysql触发器
2021/08/02 MySQL
Oracle锁表解决方法的详细记录
2022/06/05 Oracle