配置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 一个函数,接受匹配到的文件名,和匹配的目标位置,返回一个新的目标路径
以上就是本文给大家介绍的在配置Grunt的Task时通配符支持和动态生成文件名问题,希望对大家有所帮助。
相关推荐
-
使用GruntJS构建Web程序之构建篇
大概有如下步骤 新建项目Bejs 新建文件package.json 新建文件Gruntfile.js 命令行执行grunt任务 一.新建项目Bejs 源码放在src下,该目录有两个js文件,selector.js和ajax.js.编译后代码放在dest,这个grunt会自动生成. 二.新建package.json package.json放在根目录下,它包含了该项目的一些元信息,如项目名称.描述.版本号,依赖包等.它应该和源码一样被提交到svn或git. 现在的项目结构如下 p
-
使用GruntJS构建Web程序之安装篇
它有以下作用 合并JS文件 压缩JS文件 单元测试(基于QUnit) 一句话:完全自动化(automation) 以下是它的安装过程. 一.安装node 参考nodejs入门 (最新的node会自动安装npm) 二.安装grunt命令行工具grunt-cli 使用-g全局安装,这样可以在任何一个目录里使用了.命令: npm install -g grunt-cli 需要注意的是在linux或mac下有时会报没有权限的错误,这时须在前面加一个sudo, 安装后,可以查看改工具的版
-
使用Grunt.js管理你项目的应用说明
Grunt.js是什么?Grunt.js是一个Javascript Task Runner(Javascript任务运行器),其基于NodeJS,可用于自动化构建.测试.生成文档的项目管理工具. Grunt.js并不是仅仅是构建工具,实际上他只是任务运行器,管理每个子任务的自动化运行,我们还能使用他做更多东西. 为什么使用Grunt.js?简单的说:为了自动化.对于前端项目,例如: •为了明确模块分工,我们可能会将Javascript代码拆成很小很小的一个个js文件,但是我们知道,在最终页面上,
-
Grunt入门教程(自动任务运行器)
在Javascript的开发过程中,经常会遇到一些重复性的任务,比如合并文件.压缩代码.检查语法错误.将Sass代码转成CSS代码等等.通 常,我们需要使用不同的工具,来完成不同的任务,既重复劳动又非常耗时.Grunt就是为了解决这个问题而发明的工具,可以帮助我们自动管理和运行各种任 务. 简单说,Grunt是一个自动任务运行器,会按照预先设定的顺序自动运行一系列的任务.这可以简化工作流程,减轻重复性工作带来的负担. ## 安装 Grunt基于Node.js,安装之前要先安装Node.js,然后
-
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
方案一:grunt-livereload + Chrome Plug-in 优点:安装.配置简单方便. 缺点:需要配合指定的浏览器插件(Firefox也有相关插件,IE么你懂的). 1. 需要安装2个插接件:grunt-contrib-watch.connect-livereload 执行命令: 复制代码 代码如下: npm install --save-dev grunt-contrib-watch connect-livereload 2. 安装浏览器插件:Chrome LiveReload
-
Node.js的项目构建工具Grunt的安装与配置教程
Grunt 基于 Node.js ,用 JS 开发,这样就可以借助 Node.js 实现跨系统跨平台的桌面端的操作,例如文件操作等等.此外,Grunt 以及它的插件们,都作为一个 包 ,可以用 NPM 安装进行管理. 所以 NPM 生成的 package.json 项目文件,里面可以记录当前项目中用到的 Grunt 插件,而 Grunt 会调用 Gruntfile.js 这个文件,解析里面的任务(task)并执行相应操作. 安装 Grunt-cli 其实是安装 Grunt-cli ,这里安装Gr
-
使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目
Grunt 简介 Grunt是一款基于js和node.js的构建工具,由于这段时间node.js越来越火爆,grunt拥有丰富的开源社区支持,产生了很多插件.还有一些插件散落在node社区.构建是一个和宽泛的表述,传统理解就是编译.打包.复制,而今,随着技术越来越丰富,构建还包括对前端组件的预处理,比如sass.less预处理成css,css和js的压缩和合并.grunt的插件可以很好的支持这些新的构建概念,而且更为适合用开源技术堆砌的项目. 虽然Grunt更多的用于程序构建,但是本质上Grun
-
使用GruntJS构建Web程序之Tasks(任务)篇
如何自定义Grunt任务 有时我们需要写一些自己的grunt任务,下面是一个具体例子 一.准备 1. 新建一个目录g12. 新建package.json,放入g13. 新建Gruntfile.js,放入g1 package.json 复制代码 代码如下: { "name": "g1", "version": "0.1.0", "author": "@snandy",
-
使用GruntJS链接与压缩多个JavaScript文件过程详解
自己写了个简单的HTML5 Canvas的图表库,可以支持饼图,折线图,散点图,盒子图 柱状图,同时支持鼠标提示,绘制过程动画效果等.最终我想把这些多个JS文件变成 一个JS文件发布出去,于是我的问题来啦,怎么把这些JS文件搞成一个啊,群里有个 朋友告诉我,GruntJS – JavaScript多文件编译,风格检查,链接与压缩神器.Google了一 把终于帮我完成这个任务,算是入门,分享一下过程. 一什么是GruntJS 不想翻译英文,自己看它的网站吧->http://gruntjs.com/
-
使用GruntJS构建Web程序之合并压缩篇
有如下步骤: 1.新建项目Bejs2.新建文件package.json3.新建文件Gruntfile.js4.命令行执行grunt任务 一.新建项目Bejs源码放在src下,该目录有两个子目录asset和js.js下放selector.js和ajax.js,这在上一篇已经讲了如何合并压缩它们.这篇只关注asset目录,asset目录下放了一些图片和css文件.一会会把两个css资源reset.css和style.css合并,压缩到dest/asset目录.一个合并版本all.css,一个压缩版本
-
基于Node.js的JavaScript项目构建工具gulp的使用教程
npm install gulp --save-dev 什么是gulp? gulp是新一代的前端项目构建工具,你可以使用gulp及其插件对你的项目代码(less,sass)进行编译,还可以压缩你的js和css代码,甚至压缩你的图片,gulp仅有少量的API,所以非常容易学习. gulp 使用 stream 方式处理内容.Node催生了一批自动化工具,像Bower,Yeoman,Grunt等. gulp和grunt的异同点 易于使用:采用代码优于配置策略,Gulp让简单的事情继续简单,复杂的任务变
-
学习使用grunt来打包JavaScript和CSS程序的教程
Java世界里的Maven提供了强大的包依赖管理和构建生命周期管理.在JavaScript的世界里,随着Node.js的流行,JavaScript原生的构建工具已经成为可能. Grunt.js是基于Node.js的自动化任务运行器.Grunt.js结合NPM的包依赖管理,完全可以媲美Maven.Grunt.js天然适合前端应用程序的构建--不仅限于JavaScript项目,同样可以用于其他语言的应用程序构建.越来越多的JavaScript项目已经在使用Grunt,其中最大的使用者包括著名的jQu
随机推荐
- 利用vbscript脚本修改文件内容,此适用于自动化的操作中
- java之swing表格实现方法
- Python实现的十进制小数与二进制小数相互转换功能
- 开源跨平台运行服务插件TaskCore.MainForm
- javascript 动态table添加colspan\rowspan 参数的方法
- firefox和IE系列的相关区别整理 以备后用
- JavaScript修改css样式style
- 关于WPF异步MVVM等待窗体的介绍
- thinkphp制作404跳转页的简单实现方法
- jQuery实现带延迟的二级tab切换下拉列表效果
- Python爬虫辅助利器PyQuery模块的安装使用攻略
- JavaScript使用setTimeout实现延迟弹出警告框的方法
- Javascript 闭包引起的IE内存泄露分析
- 用VBS记录客户机操作的代码
- 黑客基础之DOS (最齐全)超强推荐
- python多线程socket编程之多客户端接入
- Redis中的数据过期策略详解
- 如何回到先前的页面的方法多中语言 原创
- jQuery中next()方法用法实例
- jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】