kodeks/smart-assets

此软件包的最新版本(dev-master)没有提供许可证信息。

laravel 的智能资产管理

dev-master 2014-08-06 13:02 UTC

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]。谢谢大家。你们的代码很棒。但我需要这些功能。也许其他人也需要这种功能,所以我发布了这个软件包