shnhrrsn / laravel-assets
Laravel 的资产管理。
v2.0.3
2016-05-24 11:14 UTC
Requires
- php: >=5.4.0
- illuminate/console: 5.2.*
- illuminate/support: 5.2.*
- symfony/finder: 2.*
- symfony/process: 2.8.*|3.0.*
Suggests
- laravelcollective/html: Allows Asset to extend HtmlBuilder and add support for `HTML::assetPath()`
README
此包为 L5 中使用 gulp/elixir 的更简单替代方案。它旨在让您无需担心运行监控命令和等待文件编译即可工作。您需要做的所有事情只是将您的资产存储在 /resources/assets,该包将自动检测更改并在页面加载时编译(和缓存)。
在生产环境中,您应该运行 assets:publish
命令以预编译所有资产并将它们移动到您的 Web 服务器可以更高效地服务的公共目录。
安装
将包添加到 composer
composer require "shnhrrsn/laravel-assets" "dev-master"
将以下行添加到您的 config/app.php
中的服务提供者
Assets\ServiceProvider::class,
(可选) 更新您的 .gitignore
文件以忽略已发布的资产
您所有的资产都应位于 /resources/assets
,因此更新您的 .gitignore
以确保已发布的资产不会意外地进入 git 是一个好主意。
echo "published_assets.php" >> config/.gitignore echo "css/" >> public/.gitignore echo "img/" >> public/.gitignore echo "js/" >> public/.gitignore echo "font/" >> public/.gitignore
(可选) 发布配置
如果您想覆盖资产默认配置设置,应发布配置文件
php artisan vendor:publish
安装工具链
要快速安装 Assets 编译所需的工具,请使用内置的 install-toolchain
命令
php artisan assets:install-toolchain
用法
通过 asset_path()
函数在 blade 中包含您的资产
asset_path()
将在 /resources/assets
中查找您的文件,因此下面的片段中引用的文件应在 /resources/assets/scss/site.scss
中。
<link type="text/css" rel="stylesheet" href="{!! asset_path('scss/site.scss') !!}" />
现在刷新页面以确保您的文件已被包含并正确编译。
在部署时,运行 php artisan assets:publish
这将预编译所有资产并将它们移动到 public/
目录。只要您使用 asset_path()
来引用您的资产,它们就会开始提供编译版本。
图片和字体
存储在 /resources/assets/img
、/resources/assets/font
和 /resources/assets/css
中的文件将以原样(带有正确的内容类型)提供服务,并在 assets:publish
期间直接复制到 /public
中的相同目录。
目前不支持对原始文件进行 CSS 最小化。通过其编译器为 scss、less、coffee 和 js 文件提供最小化支持。
待办事项
- 为原始 CSS 文件添加最小化支持。