在配置Grunt的Task时通配符支持和动态生成文件名详解

  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 一个函数,接受匹配到的文件名,和匹配的目标位置,返回一个新的目标路径
				
时间: 2024-12-20 07:41:56

在配置Grunt的Task时通配符支持和动态生成文件名详解的相关文章

Spring定时器配置的两种实现方式OpenSymphony Quartz和java Timer详解

原创整理不易,转载请注明出处:Spring定时器配置的两种实现方式OpenSymphony Quartz和java Timer详解 代码下载地址:http://www.zuidaima.com/share/1772648445103104.htm 有两种流行Spring定时器配置:Java的Timer类和OpenSymphony的Quartz. 1.Java Timer定时 首先继承java.util.TimerTask类实现run方法 import java.util.TimerTask; p

【转】grunt动态生成文件名

动态生成文件名 expand 设置为true打开以下选项 cwd 所有src指定的文件相对于这个属性指定的路径 src 要匹配的路径,相对与cwd dest 生成的目标路径前缀 ext 替换所有生成的目标文件后缀为这个属性 flatten 删除所有生成的dest的路径部分 rename 一个函数,接受匹配到的文件名,和匹配的目标位置,返回一个新的目标路径 grunt.initConfig({ minify: { dynamic_mappings: { // Grunt will search f

RIP动态路由的详解与配置

动态路由简述: 动态路由是与静态路由相对的一个概念,指路由器能够根据路由器之间的交换的特定路由信息自动地建立自己的路由表,并且能够根据链路和节点的变化适时地进行自动调整.当网络中节点或节点间的链路发生故障,或存在其它可用路由时,动态路由可以自行选择最佳的可用路由并继续转发报文. RIP路由结构: 使用R I P报文中列出的项, RIP主机可以彼此之间交流路由信息.这些信息存储在路由表中,路由表为每一个知道的.可达的目的地保留一项.每个目的地表项是到达那个目的地的最低开销路由.注意每个目的地的表项

Activity的任务栈Task以及启动模式与Intent的Flag详解

什么是任务栈(Task) 官方文档是这么解释的 任务是指在执行特定作业时与用户交互的一系列 Activity. 这些 Activity 按照各自的打开顺序排列在堆栈(即“返回栈”)中. 其实就是以栈的结构(先进后出)将依次打开的activity记录. 为什么要用任务栈 为了记录用户开启了那些activity,记录这些activity开启的先后顺序,google引入任务栈(task stack)概念,帮助维护好的用户体验. 如何查看当前系统的任务栈 手机中 --> 长按home或者多任务键会进到 

Java中包含继承关系时对象的创建与销毁顺序详解(附源码)

前言 通过组合和继承方法来创建新类时,永远不必担心对象的清理问题,子对象通常都会留给垃圾回收器进行处理.如果确实遇到清理的问题,那么必须用心为新类创建dispose()方法(在这里我选用此名称,读者可以提出更好的).并且由于继承的缘故,如果我们有其他作为垃圾回收一部分的特殊清理动作,就必须在导出类中覆盖dispose()方法.当覆盖被继承类的dispose()方法时,务必记住调用基类版本dispose()方法:否则,基类的清理动作就不会发生.下例就证明了这一点: 示例源码 package com

C# Asp.net MVC 分页时传参场景 动态生成QueryString

1. 获得url 2.解析query string,将外部传入的匿名对象的key/value添加进去 3. 添加该页面特殊的key/value 4.合并url var raw = HttpContext.Current.Request.Url.AbsoluteUri; string[] separateURL = raw.Split('?'); //if found "?" parse query string else return empty HttpValueCollection

TP支持菜单动态生成RBAC权限系统数据库结构设计方案

最简单基于RBAC权限系统数据库结构设计 包括如下几个表 1. 用户表 -- Table "t_user" DDL CREATE TABLE `t_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(100) DEFAULT NULL, `password` varchar(100) DEFAULT NULL, `name` varchar(100) DEFAULT NULL, `status` int(11

详解SSH注解配置,bean注解、事物注解等

使用过SSH注解的屌丝们都知道,要想使用注解需要在applicationContext.xml配置文件里面开启注解配置,开启方式如下:1.头部声明需加入xmlns:context="http://www.springframework.org/schema/context"http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3

PHP100-第二讲 PHP5.4 Apache Mysql 搭配与多站点配置详解

PHP5.4环境搭配基本流程 关于新版的PHP环境的一个搭配过程,与之前的 php5.3.x 没有太大差异, 这次使用的环境搭配组建包括: httpd-2.2.21-win32-x86 mysql-5.5.18-win32 php-5.4.0RC4-Win32-VC9-x86 //================= LoadModule php5_module "c:/www/php54/php5apache2_2.dll" AddType application/x-httpd-ph