laradic / assets
Laravel 5 资产管理器。功能齐全、灵活、可扩展,经过彻底测试和文档化。
1.0.2
2017-05-28 19:31 UTC
Requires
- php: >=5.5.9
- kriswallsmith/assetic: ~1.2
- laradic/dependency-sorter: ~1.0
- laradic/filesystem: ~1.0
- laradic/support: ~1.0
Requires (Dev)
- laradic/testing: ~1.0.1
- leafo/lessphp: ^0.3.7
- leafo/scssphp: ~0.1
- meenie/javascript-packer: ^1.1
- mockery/mockery: 0.9.*
- mrclay/minify: <2.3
- natxet/cssmin: 3.0.4
- patchwork/jsqueeze: ~1.0|~2.0
- phpunit/phpunit: ~4.8 || ^5.6
- ptachoire/cssembed: ~1.0
- twig/twig: ~1.23|~2.0
This package is not auto-updated.
Last update: 2024-09-15 03:18:54 UTC
README
Laradic Assets 是 Laravel 5 框架的一个包。它适用于 Laravel 5.4+ 和 PHP 7.0+ 。
该包遵循 FIG 标准 PSR-1、PSR-2 和 PSR-4,以确保共享 PHP 代码之间的高互操作性。
安装
composer require laradic/assets "~1.0"
另外,为了某些 Assetic 过滤器能够正常工作,您可能需要以下之一
{ "leafo/lessphp": "^0.3.7", "leafo/scssphp": "~0.1", "meenie/javascript-packer": "^1.1", "mrclay/minify": "<2.3", "natxet/cssmin": "3.0.4", "patchwork/jsqueeze": "~1.0|~2.0", "ptachoire/cssembed": "~1.0", "twig/twig": "~1.23|~2.0" }
文档
有关 完整文档,请参阅 Laradic Assets 包的文档。
快速浏览
laradic/assets
包是 Laravel 5 的资产管理器。它使用 Assetic
的过滤器以提供高功能。它提供了一个方便的方式来处理您的资产。
概述
- 可以定义和编译单个
Asset
- 编译将在资产上运行所有配置的过滤器,并将结果写入到
cache_path
。返回Compiler\Compiled
实例 Asset
可以在Area
中Group
化。您可以将Area
视为“组组”。例如,您可以创建package-name/frontend
和package-name/admin
。- 要使用
Group
,您至少需要定义 1 个Area
创建
这将根据给定的参数创建一个 Asset
实例。请参阅 Asset
文档以了解可能性。
$asset = Asset::create('script', 'global/plugins/jquery.min.js');
编译
这将运行资产上所有配置的过滤器,并将结果写入到 cache_path
。返回 Compiler\Compiled
实例
$compiled = Asset::compile('script', 'global/plugins/jquery.min.js'); echo $compiled->getUrl(); # full url to the compiled asset echo $compiled->getHtml(); # script/link html tag echo $compiled->getUri(); # uri to the compiled asset echo $compiled->getPath(); # absolute file path to the compiled asset
分组
分组资产带来了一些优点
- 允许在其
Group
内定义Asset
的依赖项 - 允许在其
Area
内定义Group
的依赖项 - 手动或自动编译
Area
、Group
和Asset
$area = Asset::area('area/package'); $group = $area->group('global'); $group->add('bootstrap', 'css/bootstrap.css'); $group->add('font-awesome', 'global/plugins/font-awesome/css/font-awesome.min.css', 'bootstrap');
链式调用
Asset::area('area/package') ->group('global') ->add('bootstrap', 'css/bootstrap.css') ->add('font-awesome', 'global/plugins/font-awesome/css/font-awesome.min.css', 'bootstrap'); // At a later point, you can continue adding Asset::area('area/package') ->group('global') ->add('simple-line-icons', 'global/plugins/simple-line-icons/simple-line-icons.min.css', 'bootstrap') ->add('uniform', 'global/plugins/uniform/css/uniform.default.css', 'bootstrap');
编译和输出
在定义完区域/组之后,您可以手动触发编译并使用 Compiler\Compiled::getHtml
方法来输出它。
Asset::area('area/package') ->group('global') ->compile('script', $combine = true) ->getHtml();
Asset
门面链接到 Factory
类实例。区域、组和资产定义利用 NamespacedItemResolver
。这意味着一些 Factory
方法接受这样的定义
// Query Asset::query // Compiles the scripts in group Asset::compile('script', 'area/package::global', $combine = true)->getHtml();