kodeks / smart-assets
laravel 的智能资产管理
Requires
- php: >=5.3.0
- coffeescript/coffeescript: 1.3.1
- illuminate/support: 4.*
- kriswallsmith/assetic: v1.1.2
- leafo/lessphp: v0.4.0
- leafo/scssphp: 0.0.9
- nitra/php-min: @dev
- richthegeek/phpsass: 2014-03-20
This package is not auto-updated.
Last update: 2024-09-24 02:18:48 UTC
README
laravel 的智能资产管理
此软件包可以将自动咖啡、less 等等转换为 js 和 css。当你指定文件路径,如 /pipeline/*/*.coffee 时,它将工作。
##安装
首先,通过 Composer 安装此软件包。编辑你的项目的 composer.json 文件,以要求 kodeks/smart-assets。
它可能看起来像这样
"require": { "laravel/framework": "4.1.*", "kodeks/smart-assets": "dev-master" }
接下来,在终端中更新 Composer
composer update
一旦此操作完成,添加服务提供者。打开 app/config/app.php
,将以下项添加到 providers 数组中。
'Kodeks\SmartAssets\SmartAssetsServiceProvider',
接下来,可选地,确保你的环境设置正确,因为默认情况下,资产管道将在生产环境中缓存和压缩资产。
在 bootstrap/start.php
内部
$env = $app->detectEnvironment(array( 'local' => array('your-machine-name'), ));
用法
将这些行放入你的 Laravel 视图/布局中
<script type="text/javascript" src="/pipeline/folder/file.coffe"></script> <link rel="stylesheet" type="text/css" href="/pipeline/folder/file.less" />
或者,如果你想合并文件(当环境是生产时工作)
<!-- build:css /lib/css/vendor.min.css --> <link rel="stylesheet" type="text/css" href="/dist/assets/less/main.less" /> <link rel="stylesheet" type="text/css" href="/lib/css/bootstrap.css" /> <!-- endbuild --> <!-- build:js /lib/js/vendor.min.js --> <script type="text/javascript" src="/lib/js/ng/angular.js"></script> <script type="text/javascript" src="/lib/js/ng/angular-animate.js"></script> <!-- endbuild -->
它们将代码保存到 vendor.min.css 文件,并替换这些字符串
配置
要为 smart-assets 创建自定义软件包配置,请运行
php artisan config:publish kodeks/smart-assets
路由数组
'routing' => array( 'prefix' => '/pipeline' ),
此前缀在需要转换文件时使用
路径
'paths' => array( 'public'
这是我们搜索文件的目录。你可以将其视为你的操作系统的 PATH 环境变量。我们按照以下顺序搜索路径中的文件。
模块
如果你使用软件包 [https://github.com/creolab/laravel-modules],此功能可能很有用
'modules' => true
如果为 true,当 smart-assets 在 "path" 中找到文件而没有找到时,它将在生产时转到 public/packages/module/ 或 app/modules/
类型
'mimes' => array( 'javascripts' => array('.js', '.js.coffee', '.coffee', '.html', '.min.js'), 'stylesheets' => array('.css', '.css.less', '.css.scss', '.less', '.scss', '.min.css'), ),
为了知道向服务器发送哪种 MIME 类型,我们需要知道它是 JavaScript 还是样式表类型。如果找不到以下扩展名,则我们仅返回常规下载。你应该在你的 filters
中包含所有扩展名,否则你可能会遇到意外的行为。这应该允许开发者在同一目录中混合 JavaScript 和 CSS 文件。
命令
如果你需要刷新缓存,请使用命令
php artisan assets:clean
它们刷新 /storage/cache 和 /storage/views/
#P.S.
想法、代码和文档属于 [https://github.com/CodeSleeve/asset-pipeline]。谢谢大家。你们的代码很棒。但我需要这些功能。也许其他人也需要这种功能,所以我发布了这个软件包