bmidget / kohana-assets
为提供预编译的js和css/less文件提供便捷的库
1.5
2014-03-19 07:21 UTC
Requires
- php: >=5.3.3
- composer/installers: ~1.0
- kohana/core: >=3.3
- oyejorge/less.php: >=1.7
This package is not auto-updated.
Last update: 2024-09-24 05:51:08 UTC
README
创建资产对象
$assets = Assets::factory();
在配置文件中定义hashgroups。以下是一些示例
// config/js.php
$base = [
'bs' => DOCROOT.'assets/bootstrap/dist/js/bootstrap.min.js',
'site' => DOCROOT.'assets/js/site.js',
];
return [
'default' => $base,
'admin' => $base + [
'footable' => DOCROOT.'assets/footable/js/footable.js',
'footable-paginate' => DOCROOT.'assets/footable/js/footable.paginate.js',
'footable-filter' => DOCROOT.'assets/footable/js/footable.filter.js',
'footable-sort' => DOCROOT.'assets/footable/js/footable.sort.js',
'admin' => DOCROOT.'assets/js/admin.js',
]
];
// config/css.php
return [
'default' = [
'site' => DOCROOT.'assets/less/site.less',
],
'public' => [
'site' => DOCROOT.'assets/less/site.less',
'public' => DOCROOT.'assets/less/public.less',
],
'admin' => [
'site' => DOCROOT.'assets/less/site.less',
'footable' => DOCROOT.'assets/less/footable.less',
'admin' => DOCROOT.'assets/less/admin.less',
],
'special_page' => [
'site' => DOCROOT.'assets/less/site.less',
'special' => DOCROOT.'assets/less/special.less',
],
];
预编译资产
您可以为生产环境的部署脚本创建一个minion任务来完成此操作。
class Task_Asset_Compile extends Minion_Task {
protected function _execute( array $params)
{
$asset = Assets::factory();
$asset->update_config();
}
}
在您的开发环境中,每次刷新时更新编译后的资产是个不错的选择。以下是在模板控制器中设置此示例
$this->template->bind('assets', $this->_assets);
$this->_assets = Assets::factory();
if (Kohana::$environment === Kohana::DEVELOPMENT)
{
$this->_assets->update_config();
}
在您的视图模板中,返回指向正确编译的js和css文件的脚本标签
<?=$assets->get_cached('css', true)?>
<?=$assets->get_cached('js', true)?>