码迷,mamicode.com
首页 > 其他好文 > 详细

没有闲话和grunt.initConfig()

时间:2014-12-26 22:58:52      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:

grunt.initConfig()为Gruntfile.js的核心部分,它接收对象作为参数。

对象包含两种类型的属性,一种是单纯的变量,一种是task类型。举个栗子:

grunt.initConfig({
  pkg: grunt.file.readJSON(‘package.json‘),    //单纯的变量,像我一样单纯
  concat: {}    //task类型
});

PS:所有单纯的变量可以‘prefix<%=var%>suffix‘的形式读取

 

task类型也包含两种类型的属性,一种是options,一种是具体的task

具体的task同样包含两种类型的属性,一种是options,覆盖task类型的options,一种是files

以下例子使用grunt-contrib-concat,用于文件的合并

concat : {
    options : {
        separator : ‘;‘,    //被覆盖
        banner : ‘/*<%= grunt.template.today("yyyy-mm-dd") %>*/‘
    },
    test : {
        options : {
            separator : ‘<%= grunt.util.linefeed %>‘
        },
        files : [{
            dest : ‘dest/hello.js‘,
            src : [‘src/*.js‘]
        }
        ]
    }
}    

结构如下图

技术分享

files部分是所有插件通用的,但options视插件不同而不同,以下介绍files

files有三种写法,例子中最标准且复杂的一种

//第一种,满足所有要求
files : [{
    dest : ‘dest/hello.js‘,
    src : [‘src/*.js‘]
    }
]
//第二种,无法设置其他参数
files : {
    ‘dest/hello.js‘ : [‘src/*.js‘]
}
//第三种,只能设置单个任务
dest : ‘dest/hello.js‘,
src : [‘src/*.js‘]

另外files中的path支持5种通配符

  1. *匹配separator之外的所有字符0-N
  2. ?匹配separator之外的所有字符1
  3. **匹配所有字符0-N
  4. {}匹配其中逗号分隔的表达式
  5. !反集合

 最后是files的各个属性,分为两个部分,基础(src、dest、filter、nonull、dot、matchBase、expand)和扩展(cwd、ext、flatten、rename)

src: string or array 源文件

dest: string 目标文件

filter: function 传入src中各文件的filepath,筛选出返回true的作为源文件

nonull: 嗯,不太懂

dot: boolean 以.开头的文件,linux中的隐藏文件亦作为源文件,默认为false

matchBase: 搞不清用处

expand: boolean 启用扩展属性,默认为false

dest(expand): string 目标文件夹

cwd: string src的相对路径

ext: string 生成文件的后缀名

expand: true,
cwd: ‘src/‘,
src: [‘*.js‘],
dest: ‘dest/‘,
ext: ‘.min.js‘

flttern: boolean 为true则生成的文件统一放在dest文件夹中,无子文件夹,默认为false

expand: true,
cwd: ‘src/‘,
src: [‘*.js‘, ‘**/*.js‘],
dest: ‘dest/‘,
ext: ‘.min.js‘,
flatten: true

rename: function 传入[dest, filepath, files],默认为return dest + filepath;

 

以上是initConfig的基本配置,还有瑕疵,下一篇开始从各个插件着手具体的应用。

没有闲话和grunt.initConfig()

标签:

原文地址:http://www.cnblogs.com/tarol/p/4187192.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!