gawdl3y/asset-prefixer

Laravel的自动资源路径前缀

v1.1.1 2014-03-27 21:04 UTC

This package is not auto-updated.

Last update: 2024-09-28 14:17:31 UTC


README

这是一个简单的包,允许您为资源路径提供前缀,例如在生产中使用AWS S3作为资源,但在开发中使用本地副本。

安装

在您的composer.json中要求此包,并运行composer update(或运行composer require gawdl3y/asset-prefixer:~1.0

"gawdl3y/asset-prefixer": "~1.0"

安装包后,将ServiceProvider添加到app/config/app.php中的providers数组中

'Gawdl3y\AssetPrefixer\AssetPrefixerServiceProvider',

此外,还将外观添加到aliases数组中

'Asset' => 'Gawdl3y\AssetPrefixer\Asset',

可选地,您也可以用它替换HTML别名,因为AssetBuilder扩展了HtmlBuilder

'HTML' => 'Gawdl3y\AssetPrefixer\Asset',

最后,运行composer config:publish gawdl3y/asset-prefixer

用法

AssetBuilder可以作为HtmlBuilder的替换使用,通过替换HTML外观别名。方法与HtmlBuilder类提供的默认方法相同。AssetBuilder修改的方法以添加前缀为script()style()image()linkAsset()linkSecureAsset()。注意,当使用前缀时,如果已经提供了协议,则linkSecureAsset()不会修改协议。我建议使用协议无关的前缀,如//somecdn.net/。这将使用HTTP在查看HTTP页面时,在查看HTTPS页面时使用HTTPS。

前缀在包的配置文件中指定。以下是一个使用示例和输出结果

前缀://somecoolcdn.com/

查看代码

{{ Asset::style('css/42.css') }}

输出

<link media="all" type="text/css" rel="stylesheet" href="//somecoolcdn.com/css/42.css">

当作为插入式替换使用(您替换了HTML外观别名)时,您可以使用HTML::style('css/42.css')得到相同的结果。

如果您需要引用具有完整URL的资源,则需要将脚本/样式/图像调用的最后一个参数指定为false。示例

{{ Asset::script('//ajax.googleapis.ac.cn/ajax/libs/jquery/1.11.0/jquery.min.js', array(), null, false) }}