seajs(CMD) Module combo pulgin for gulp Chinese Docs
$ npm install --save-dev gulp-seajs-combo
var gulp = require( 'gulp' ),
seajsCombo = require( 'gulp-seajs-combo' );
gulp.task( 'seajscombo', function(){
return gulp.src( 'src/js/main.js' )
.pipe( seajsCombo() )
.pipe( gulp.task('build/js') );
});
Unsupported files are ignored.
Type : String
Default : utf-8
Type : Array
Ignored module list. combo module main
, need ignore dependencies global
and common
, configuration ignore list :
ignore : [ 'global', 'common' ]
Ignore configuration has two rules, if need ignore src/a
and src/test/a
:
ignore : [ 'a' ]
If src/a
and src/test/a
need ignore src/test/a
ignore : [ 'src/test/a' ]
When use seajs.use
, module id is foo/bar/biz
, but the module file with respect to gulp.src
path is ./biz.js
, use map
configuration.
map : {
'foo/bar/biz' : './biz'
}
plugins
for special module. A module need combo Handlebars tpl module, but tpl will compile before combo.
var handlebars = require( 'gulp-handlebars' ),
wrap = require( 'gulp-wrap' );
...
plugins : [{
ext : [ '.tpl' ],
use : [{
plugin : handlebars,
},{
plugin : wrap,
param : ['define(function(){return Handlebars.template(<%= contents %>)});']
}]
}]
Module a.js
:
define(function(){
var b = require( 'deps/b' );
return 'a' + ' ' + b;
});
Module b.js
:
define(function(){
return 'b';
});
gulp code :
gulp.src( 'src/a.js' )
.pipe( seajsCombo() )
...
Combined a.js
:
define('b',function(){
return 'b';
});
define('a',['b'],function(){
var b = require( 'b' );
return 'a' + ' ' + b;
});
File main.js
:
seajs.use( 'a' );
Gulp code :
gulp.src( 'src/main.js' )
.pipe( seajsCombo() )
...
Combined main.js
:
define('b',function(){
return 'b';
});
define('a',['b'],function(){
var b = require( 'b' );
return 'a' + ' ' + b;
});
seajs.use( 'a' );
The combined module will keep none path id, src/a
combined id is a
, foo/bar/p
combined id is p
.
If combined module id is duplicate, gulp-seajs-combo will modify original id. src/a
and src/test/a
combined id both is a
, then gulp-seajs-combo will modify src/test/a
id is s_gulp_seajs_combo_xx
.
gulp-seajs-combo
will parse alias
vars
paths
in seajs.config
, other configuration is ignored, the configuration value must be a String
, will ignored variable. see more seajs.config. test/src/m.js and test/build/m.js is parse example.
MIT @ Yiguo Chan