配置Grunt的Task时通配符支持和动态生成文件名问题_javascript技巧

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时通配符支持和动态生成文件名问题,希望对大家有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索grunt通配符
grunt_task
grunt通配符、grunt task、grunt register task、grunt.task.run、grunt bower task,以便于您获取更多的相关知识。

时间: 2024-11-02 18:14:56

配置Grunt的Task时通配符支持和动态生成文件名问题_javascript技巧的相关文章

JS导出PDF插件的方法(支持中文、图片使用路径)_javascript技巧

在WEB上想做一个导出PDF的功能,发现jsPDF比较多人推荐,遗憾的是不支持中文,最后找到pdfmake,很好地解决了此问题.它的效果可以先到http://pdfmake.org/playground.html查看.在使用过程中,还发现图片的插入是相对繁琐的一件事. 针对这些问题,本文的主要内容可分为三部分: •pdfmake的基本使用方法: •如何解决中文问题; •如何通过指定图片地址插入图片. pdfmake的基本使用方法 1.包含以下两个文件 <script src="build/

setTimeout内不支持jquery的选择器的解决方案_javascript技巧

今天在写一个js延时事件的时候发现在setTimeout这个方法里面使用jquery的$(this)竟然不起作用,各种测试,最后得出结论是setTimeout内不支持jquery的选择器.于是请教了一下QQ上做jquery开发的高手,马上就把这问题解决了,在这里记录一下. 下面是作者做延时处理时的js代码: $('.dl_select dt').hover( function(){ clearTimeout(t3); $(this).siblings('dd').css({'display':'

jquery 实现输入邮箱时自动补全下拉提示功能_javascript技巧

记得去年做某个项目的时候,用到了邮箱输入自动提示功能,于是网上搜了一下,发现了这个写得不错,现在回想起来,转载一下,方便查阅. 邮箱的广泛使用得益于它的免费,因此很多网站在注册的时候都会直接使用邮箱作为账号名 为了提高用户的体验,很多网站都会实现邮箱输入的自动提示功能. 实现效果如图所示: 核心代码(需要jquery的支持): (function($){ $.fn.mailAutoComplete = function(options){ var defaults = { boxClass: "

javascript 使用for循环时该注意的问题-附问题总结_javascript技巧

如果您希望一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环是很方便的. 很多时候我们都用到for循环,而用到for循环部门往往对一个数组进行循环,其中我们很多时候都是这样写的: // 次佳的循环 for (var i = 0; i < myarray.length; i++) { // 使用myarray[i]做点什么 } 这样的代码虽然没有什么大问题,但是每次循环都会获取一下数组的长度,这回降低你的代码,尤其当myarray不是数组,而是一个HTMLCollection对象的时候.

实现png图片和png背景透明(支持多浏览器)的方法_javascript技巧

虽然有让IE6支持PNG透明背景的JS程序,都是不是很方便,还是用CSS来实现的好.使用到的就是:IE5.5+的AlphaImageLoader滤镜. 1.png背景透明 解决办法: 复制代码 代码如下: #div1 { height: 600px; width: 260px; padding: 20px; background-repeat: repeat; } html>body #div1 { background-repeat: repeat;background-image: url(

iphone safari不支持position fixed的解决方法_javascript技巧

需求是这样的,许多pc web页面的导航都是固定的,比如google的首页,现在要将这种固定的导航转移到mobile web下,很自然地就会想到position:fixed; bottom: 0,android下运行正常,但在iphone safari下就会出现问题,当滚动条滚动时,导航条就会出现屏幕的上方,黑乎乎的一块,很不协调.许多人推荐iscroll.jquery mobile等框架,但有时效果不如意或是得阅读框架源码进行二次开发,会花费好长一段时间的.经过一段时间的研究,找到了一种解决办

ie支持function.bind()方法实现代码_javascript技巧

前端开发者应该很清楚 Javscript 脚本的 function 函数对象可以通过 call 或 apply 方法,使其改变内部作用域(this)所指向的对象,实现更多可扩展的功能开发.ie 原生支持 function 对象的 call 和 apply 方法,在 firefox 或其它浏览器下也得到支持,但是 call 和 apply 方法是立即作用并执行,例如: 复制代码 代码如下: var func = function () { alert(this); }.apply(window);

让JavaScript 轻松支持函数重载 (Part 1 - 设计)_javascript技巧

JavaScript支持重载吗? JavaScript支持函数重载吗?可以说不支持,也可以说支持.说不支持,是因为JavaScript不能好像其它原生支持函数重载的语言一样,直接写多个同名函数,让编译器来判断某个调用对应的是哪一个重载.说支持,是因为JavaScript函数对参数列表不作任何限制,可以在函数内部模拟对函数重载的支持. 实际上,在很多著名的开源库当中,我们都可以看到函数内部模拟重载支持的设计.例如说jQuery的jQuery.extend方法,就是通过参数类型判断出可选参数是否存在

JavaScript快速切换繁体中文和简体中文的方法及网站支持简繁体切换的绝招_javascript技巧

一般商业网站都有一个语言的需求,就是为了照顾使用正体中文的国人,会特地提供一个切换到正体中文的选项(或曰"繁体中文").传统做法是在服务端完成的,即通过某些控件或者过滤器转换文本语言.这里笔者介绍一种简单可行的方法,不是在服务端而是利用前端的 JavaScript 就可以切换正体中文. 大概六年前我还专门写过这议题的博文,这篇也是奠基在那篇文章(旧文也是参考了一高手代码)之上,<对 JavaScript 繁简字切换的小改进>.时过境迁,有必要把代码进行更新一下--以前的太稚