grunt-snje1987-merge v0.2.0
grunt-snje1987-merge
插件会将源文件中包含的require('path/to/lib')
替换为path/to/lib
的文件内容。
安装方法
需要 Grunt ~0.4.5
可以通过如下命令安装
npm install grunt-snje1987-merge --save-dev
在Gruntfile中通过下面的代码启用
grunt.loadNpmTasks('grunt-snje1987-merge');
使用方法
配置总览
在Gruntfile中,添加merge
配置项
grunt.initConfig({
merge: {
options: {
// Task-specific options go here.
},
your_target: {
// Target-specific file lists and/or options go here.
},
},
});
配置选项
options.srcdir
类型: Array
默认: []
一系列被包含文件的保存为值,优先使用前面的。
options.trimlib
类型: Array
默认: ['(\\r|\\n|\\s|;)*$']
每一个lib文件中需要进行的替换,为一个数组,如果元素为字符串,则会转化为正则表达式,并将匹配项去除,如果为对象,则键被转化为正则表达式,值最为替换项
options.trimsrc
类型: Array
默认: ['(\\r|\\n|\\s)*$']
每一个src文件中需要进行的替换,为一个数组,如果元素为字符串,则会转化为正则表达式,并将匹配项去除,如果为对象,则键被转化为正则表达式,值最为替换项
options.sep
类型: String
默认: \n
源文件进行合并时使用的分隔符
options.liboverwrite
类型: bool
默认: false
当lib文件中存在自定义过滤时,是否继续执行全局过滤
options.errreturn
类型: String
默认: ‘’
lib文件加载出错时的返回值
lib文件中的自定义过滤
定义形式如下,其中括号中的内容为一个数组,形式跟trimlib
相同,其中的\
会被自动替换为\\
/**
* @trim [...]
*/
示例
该示例中,插件会将test/fixtures/app2.js
和test/fixtures/app1.js
合并为tmp/default_options
,并在合并过程中将require('path/to/lib')
替换为path/to/lib
的文件内容,插件会在test/srcdir
目录中查找path/to/lib
。
grunt.initConfig({
merge: {
options: {
srcdir: ['test/srcdir']
},
files: {
'tmp/default_options': ['test/fixtures/app2.js', 'test/fixtures/app1.js']
}
},
});
该示例中,插件会将test/fixtures/app2.js
和test/fixtures/app1.js
合并为tmp/default_options
,并在合并过程中将require('path/to/lib')
替换为path/to/lib
的文件内容,插件会在test/srcdir/sub
和test/srcdir
目录中查找path/to/lib
,优先使用test/srcdir/sub
中的文件。
grunt.initConfig({
merge: {
options: {
srcdir: ['test/srcdir/sub', 'test/srcdir']
},
files: {
'tmp/custom_options': ['test/fixtures/app2.js', 'test/fixtures/app1.js']
}
},
});