smartcomb是一个用php实现的web模块拼合器,相对于其他的代码拼合工具,如下特性:
github地址:https://github.com/hafeyang/smartcomb
smartcomb是由smartcomb.php
和modules.js
构成,modules.js
是一个json文件,必须是严格的json格式,key需要加上双引号,用于模块声明。格式为:
<code>{ [profile]:{ "basePath": "所有文件共有的基础路径", "modules":{ "[modulename]":{ [type1]:["file1","file2"], "dependencies":["depend module name","",""] } } } } </code>
下面是一个demo:
<code>{ "default":{ "basePath":"modules/", "modules":{ "base":{ "js":["base/base.js","base/common.js"], "css":["base/reset.css"], "less":["base/reset.less"] }, "pageA":{ "js":["pageA/pageA-util.js","pageA/pageA.js"], "css":["pageA/pageA.css"], "dependencies":["base"] } } } } </code>
上面的demo声明了profile 为default的模块配置。声明两个模块base和pageA,pageA依赖于base模块。其中base模块包括两个js文件: modules/base/base.js,该路径是相对于smartcomb.php
的路径,文件类型可以任意定义,使用时指定类型即可。
如上配置文件,我们可以在页面中如下引用:
<code><script type="text/javascript" src="path/to/smartcomb.php?type=js&modules=pageA"></script> <link href="path/to/smartcomb.php?type=css&modules=pageA" type="text/css" charset="utf-8"/> </code>
pageA依赖于base模块。smartcomb自动拼合依赖的的文件。
smartcomb.php
调用参数:
profile
:配置类型,默认为default。用该参数可以切换profile
type
:文件类型,模块声明中的类型,可以是自定义的任何文件类型,默认是jsmodules
:需要拼合的模块,多个模块可以用,分割可以直接使用 php命令,如:
<code>php smartcomb.php -profile default -type js -modules pageA </code>
命令直接在标准输出中输出拼合结果,可以直接生成文件。
<code>php smartcomb.php -profile default -type js -modules pageA > pageA-dep.js </code>
参数与web调用方式一致
Thanks,任何问题,请与我联系:)