配置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 不能释放内存.
Sep 07 Javascript
JavaScript学习笔记(十)
Jan 17 Javascript
使用jQuery.fn自定义jQuery翻页插件
Jan 20 Javascript
js中的屏蔽的使用示例
Jul 30 Javascript
jsp网页搜索结果中实现选中一行使其高亮
Feb 17 Javascript
jquery选择器大全 全面详解jquery选择器
Mar 06 Javascript
浅析2种JavaScript继承方式
Dec 04 Javascript
js+html5实现侧滑页面效果
Jul 15 Javascript
从零开始学习搭建React脚手架项目
Aug 23 Javascript
Vue结合后台导入导出Excel问题详解
Feb 19 Javascript
React倒计时功能实现代码——解耦通用
Sep 18 Javascript
JavaScript实现无限轮播效果
Nov 19 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 修改zen-cart下单和付款流程以防止漏单
2010/03/08 PHP
基于Zend的Config机制的应用分析
2013/05/02 PHP
php计算函数执行时间的方法
2015/03/20 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
2017/02/10 PHP
老生常谈PHP面向对象之解释器模式
2017/05/17 PHP
Laravel框架实现的rbac权限管理操作示例
2019/01/16 PHP
ExtJS扩展 垂直tabLayout实现代码
2009/06/21 Javascript
jquery下操作HTML控件的实现代码
2010/01/12 Javascript
JavaScript中SQL语句的应用实现
2010/05/04 Javascript
读jQuery之十四 (触发事件核心方法)
2011/08/23 Javascript
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
javascript 星级评分效果(手写)
2012/12/24 Javascript
利用毫秒减值计算时长的js代码
2013/09/22 Javascript
js鼠标点击图片切换效果代码分享
2015/08/26 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
JavaScript组件开发之输入框加候选框
2017/03/10 Javascript
js实现HTML中Select二级联动的实例
2018/01/05 Javascript
jQuery子选择器与可见性选择器实例分析
2019/06/28 jQuery
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
实例解析Python中的__new__特殊方法
2016/06/02 Python
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
Python实用工具FuckIt.py介绍
2019/07/02 Python
python程序中的线程操作 concurrent模块使用详解
2019/09/23 Python
python自动化测试三部曲之request+django实现接口测试
2020/10/07 Python
浅谈CSS3中display属性的Flex布局的方法
2017/08/14 HTML / CSS
使用CSS3实现字体颜色渐变的实现
2020/08/10 HTML / CSS
css3实现动画的三种方式
2020/08/24 HTML / CSS
类的核心特性有哪些
2014/01/01 面试题
土木工程毕业生自荐信
2013/11/12 职场文书
专升本个人自我评价
2013/12/22 职场文书
优秀工会工作者事迹材料
2014/06/02 职场文书
2014年业务工作总结
2014/11/17 职场文书
怎样评估创业计划书是否有可行性?
2019/08/07 职场文书
Django 实现jwt认证的示例
2021/04/30 Python
python 如何做一个识别率百分百的OCR
2021/05/29 Python
《帝国时代4》赛季预告 新增内容编译器可创造地图
2022/04/03 其他游戏