spatie/asset-helper

获取修订版资源的URL

2.0.0 2016-04-22 10:15 UTC

This package is auto-updated.

Last update: 2024-09-09 22:00:50 UTC


README

获取修订版资源的URL

Latest Stable Version License

此Laravel 4软件包允许您获取修订版资源的URL。

这听起来有些模糊,对吧?让我通过一个例子来澄清。调用此提供的方法Asset::getUrl('admin.css')返回/assets/admin.0ce5cb43.css

本软件包假设您的资源管道

  • 将所有资源保存在一个公共文件夹中。
  • 在每一个资源的文件名中添加一个随机字符串作为缓存破坏机制

Spatie是比利时安特卫普的一家网页设计公司。您可以在我们的网站上找到所有开源项目的概述这里

支持我们

通过观看我们的高级视频课程,了解如何创建此类包

Laravel Package training

我们投入了大量资源来创建最佳的开源软件包。您可以通过购买我们的付费产品之一来支持我们。

我们非常感谢您从家乡寄给我们明信片,并注明您正在使用我们的哪个软件包。您可以在我们的联系页面找到我们的地址。我们将所有收到的明信片发布在我们的虚拟明信片墙上

明信片软件

您可以使用此软件包(它是MIT许可的),但如果它进入您的生产环境,您必须向我们寄送一张来自您家乡的明信片,注明您正在使用我们的哪个软件包。

我们的地址是:Spatie,Kruikstraat 22,2018 安特卫普,比利时。

最好的明信片将被发布在我们的网站上的开源页面。

##安装 通过Composer安装此软件包

composer require spatie/asset-helper

必须安装此服务提供者

//for laravel <=4.2: app/config/app.php

'providers' => [
    ...
    'Spatie\AssetHelper\AssetHelperServiceProvider'
    ...
];

此软件包还包含一个外观,它提供了一种调用功能的方法。

//for laravel <=4.2: app/config/app.php

'aliases' => array(
	...
	'Asset' => 'Spatie\AssetHelper\AssetHelperFacade',
	...
)

##配置 您可以使用此命令发布配置文件

php artisan config:publish spatie/asset-helper

将包含一些合理默认值的配置文件放置在您的config/packages目录中

return
    [
        /**
         * The url that points to the directory were your assets are stored
         *
         */
        'assetDirectoryUrl'         =>  '/assets',
    ];

##使用 Asset::getUrl($nonRevisionedAssetName)接受一个非修订版资源名称,并返回修订版资源的URL。

##示例 假设您的网站公共路径为/home/forge/yourwebsite.be/public,并且您的资源管道将压缩、简化、...等资源存储在此目录中:/home/forge/yourwebsite.be/public/assets

假设这是该目录的内容

  • admin.0ce5cb43.css
  • admin.defer.adc60631.js
  • admin.head.1954b61c.js
  • front.0b4c09c7.css
  • front.defer.1ba6b072.js
  • front.head.1954b61c.js

作为缓存破坏机制,您的资源管道可能将随机字符串放在资源的文件名中。在上面的示例中,这是'0ce5cb43'、'adc60631'、'1954b61c.js'...

调用Asset::getUrl('admin.css')返回/assets/admin.0ce5cb43.css

因此,您的布局文件可能看起来像这样

<!DOCTYPE html>

<head>
    ... 
    <script type="text/javascript" src="<?= Asset::getUrl('front.head.js') ?>"></script>
    <link rel="stylesheet" href="<?= Asset::getUrl('front.css') ?>" type="text/css" media="screen"/>
    ...
</head>
<body>
    ...
    <script type="text/javascript" src="<?= Asset::getUrl('front.defer.js') ?>"></script>
</body>
</html>

关于Spatie

Spatie是比利时安特卫普的一家网页设计公司。您可以在我们的网站上找到所有开源项目的概述这里