gulp-fangfis-combo
一个用于 fangfis(CMD) 模块合并工具的 gulp 插件,支持异步调用模块合并。
安装
$ npm install --save-dev gulp-fangfis-combo
使用
var gulp =fangfisCombo = ;gulp;
API
fangfisCombo( [options,]callback)
对于不支持的文件类型会直接忽略。
options
encoding
Type : String
Default : utf-8
ignore
Type : Array
忽略模块列表。合并模块 main
时想忽略其以来模块 global
和 common
,那么其配置规则如下:
ignore : 'global' 'common'
忽略配置有两种规则,如果需要忽略 src/a
和 src/test/a
2 个模块,直接配置不带路径的模块标识:
ignore : 'a'
如果上面两个模块中只想忽略其中一个,那么配置具体的路径:
ignore : 'src/test/a'
map
使用 fang.use 时,模块标识为 foo/bar/biz
,但是模块的文件路径基于 gulp.src
解析出来的路径是 ./biz.js
,那么使用 map
配置来映射这种关系。
map :'foo/bar/biz' : './biz'
callback
所有异步加载的模块,插件会分析该异步模块的依赖模块并进行合并,通过回调的方式以数组的形式回传出来,以便我们做后续操作,下面做一个简单的例子
var gulp = ;// 生成文件流var Vinyl = ;var stream = ;var {// 接受回传异步模块数组fileData;};gulp;
合并规则
模块 a.js
:
;
模块 b.js
:
;
gulp 代码 :
gulp...
合并好的 a.js
:
;;
文件 main.js
:
fang;
gulp 代码 :
gulp...
合并后的 main.js
:
;;fang;
合并后的模块标识不会保留其路径,src/a
的模块标识在合并后就变成了 a
,foo/bar/p
在合并后变成了 p
。
如果合并的模块中模块标识有重复,gulp-fangfis-combo 会修改原来的模块标识。src/a
和 src/test/a
在合并后由于去掉了路径都会变成 a
,gulp-fangfis-combo 会将后一个依赖 src/test/a
改成 axx
。
fang.config
解析 gulp-fangfis-combo
会解析 fang.config
中的 alias
vars
paths
这 3 个配置,其他的配置会忽略,并且配置的值必须为 String
类型,会忽略其中的变量。
License
MIT @ Fang