simexis/laravel-casset

为 Laravel 5 设计的资产管理包。

1.0.2 2016-03-25 10:29 UTC

This package is auto-updated.

Last update: 2024-09-14 23:58:05 UTC


README

本包基于 https://github.com/mmanos/laravel-casset

Casset 是 Laravel 5 应用的资产管理器。它能执行以下操作

  • 创建一个或多个资产容器。
  • 编译 less 文件。
  • 将资产合并为一个文件。
  • 压缩输出。
  • 接受来自 Laravel 包公共目录的资产。 "package::/js/file.js"
  • 定义资产依赖。
  • 定义所有相同文件类型资产的全局依赖。
  • 定义一个可选的 CDN 用于资产 URL。
  • 可选地将处理/合并资产推迟到控制器(当跨多台服务器分发页面请求时很有用)。

通过 Composer 安装

将此添加到您的 composer.json 文件中的 require 对象

"simexis/laravel-casset": "dev-master"

之后,运行 composer install 安装 Casset。

将服务提供者添加到 app/config/app.php 文件中的 providers 数组。

'providers' => array(
	// ...
	Simexis\Casset\CassetServiceProvider::class,
)

将类别名添加到 app/config/app.php 文件中的 aliases 数组。

'aliases' => array(
	// ...
	'Casset' => Simexis\Casset\Facades\Casset::class,
)

最后,确保在配置文件中定义的缓存目录已创建并可由 web 服务器写入(默认为 public/assets/cache)。

$ mkdir public/assets/cache
$ chmod -R 777 public/assets/cache
$ touch public/assets/cache/.gitignore

编辑 public/assets/cache/.gitignore。

*
!.gitignore

用法

将资产添加到“默认”容器

Casset::add('js/jquery.js');
Casset::add('less/layout.less');

将资产添加到自定义容器

Casset::container('layout')->add('js/jquery.js');
Casset::container('layout')->add('less/layout.less');

添加依赖于另一个资产的资产

Casset::add('less/variables.less');
Casset::add('less/layout.less', array(), array('less/variables.less'));

为所有资产(同一文件类型)添加全局依赖

Casset::dependency('less/variables.less');
Casset::container('layout')->dependency('less/variables.less');

从 composer 包(vendorName/packageName)添加资产

Casset::add('frameworks/jquery::/jquery.min.js');

渲染 HTML 标签以加载容器的资产

{!! Casset::container('default')->styles() !!}
{!! Casset::container('layout')->scripts() !!}

生成 CDN 服务器上资产的 URL

<img src="{{ Casset::cdn('logo.png') }}" />