alexccavaco / jomi
PHP 压缩器
0.1.5.1
2020-01-26 19:32 UTC
Requires
- php: >=5.3.0
- matthiasmullie/minify: ^1.3
README
PHP 压缩器
JoMi Joins and Minifies one or multiple files into one. It can use .json files (called modules) to configure file manipulations or do so via the class itself. Manipulations happen when any of the source files are changed, otherwise, no processing occurs.
安装
composer require alexccavaco/jomi
在类中运行 JoMi 模块
$mod = JoMi::runUsing($name, $config, $vars);
$mod->add($arrayOfFiles, $pathToDestination, $type);
$mod->run();
JoMi::runUsing() 接受三个参数。第一个代表模块的名称,是必需的,第二个是配置数组,第三个是变量数组(用于简化文件路径)。最后两个是可选的。
配置
- "module-location" - 表示存储模块的文件夹
- "file-base-path" - 表示文件的基文件夹
注意:模块位置也是 JoMi 用于存储和记住先前更新时间的地方。
add 方法创建指向 $pathToDestination 的 $arrayOfFiles 压缩实例。后者包含合并和压缩后的数据(运行后)。第三个和最后一个参数确定正在处理的文件类型,目前仅限 css 或 js 文件。此参数是可选的,如果没有设置,JoMi 将根据 $pathToDestination 的文件类型(.css 或 .js)做出决定。
add 方法可以像下面这样链式调用
JoMi::runUsing($name, $config, $vars)->add(...)->add(...)->run();
使用模块文件运行 JoMi
JoMi::runModule($name, $config, $vars);
JoMi::runModule() 接受三个参数。第一个代表模块的名称,是必需的,第二个是配置数组,第三个是变量数组(用于简化文件路径)。最后两个是可选的。
配置与上面相同。
模块 JSON 示例文件
{varname} - 代表名为 "varname" 的变量。这些可以通过 "var" 键进行分配,如下面的示例所示。
{
"var": {
"public": "{root}/public",
"var": "{root}/var"
},
"join": [
{
"files":[
"{var}/test1.css",
"{var}/test2.css"
],
"into": "{public}/test.min.css",
"type": "css",
"updated": 1558896289
},
{
"var":{
"public": "{root}/public/"
},
"files":[
"{var}/test1.js",
"{var}/test2.js",
"{var}/test3.js"
],
"into": "{public}/test.min.js",
"type": "js",
"updated": 1558896289
}
]
}