mvccore/ext-view-helper-assets

MvcCore - 扩展 - 视图 - 辅助 - 资产 - 用于分组、渲染、压缩和缓存 JavaScript 和 CSS 文件,为最终应用打包准备所有应用程序资产。


README

Latest Stable Version License PHP Version

MvcCore 视图辅助扩展,用于分组、渲染、压缩和缓存 JavaScript 和 CSS 文件,为最终应用打包准备所有应用程序资产。

安装

composer require mvccore/ext-view-helper-assets

特性

  • 将文件分组在一起,在一个响应中交付
  • 在分组文件内可选地渲染 PHP 代码
  • 可选地将资产 URL 地址指向 index.php 打包结果,其中小数据源(图标、图像映射...),应该打包进去,如果您想开发和构建单个文件应用程序。
    • 示例: <?php echo $this->AssetUrl('favicon.ico'); ?>
  • 将分组文件保存到应用程序临时目录 '/Var/Tmp'
  • 通过文件修改时间或文件 MD5 印记检查更改的源文件
  • 在应用程序编译模式下(打包到 PHP 包中)不检查源文件
  • 可选地使用外部库 mrclay/minify ^2.2.0 进行 CSS 或 JS 压缩
  • 可选地下载外部 JS 文件到结果组

示例

基本控制器代码

namespace App\Controllers;

class Base {
	public function PreDispatch () {
		parent::PreDispatch();
		\MvcCore\Ext\Views\Helpers\Assets::SetGlobalOptions(array(
			cssMinify	=> TRUE,
			cssJoin		=> TRUE,
		));
		$this->Css('head')
			->AppendRendered('/app/root/rel/path/to/first.css')
			->Append('/app/root/rel/path/to/second.css');
	}
}

布局模板代码

<html>
	<head>
		<!--
		   only one file will be generated and delivered:
		   <link rel="stylesheet" href="/Var/Tmp/temp-file-name.css" />
		-->
		<?php echo $this->Css('head')->Render(); ?>
	</head>
	<body>...</body>
</html>