bmidget/kohana-assets

为提供预编译的js和css/less文件提供便捷的库

安装次数: 5,165

依赖者: 0

建议者: 0

安全性: 0

星标: 4

关注者: 5

分支: 2

开放问题: 1

类型:kohana-module

1.5 2014-03-19 07:21 UTC

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)?>