在Laravel中更改资产帮助程序URL

时间:2017-04-19 10:31:38

标签: php laravel laravel-5.4

默认情况下,asset()URL::asset()会指向http://my-url/public/

有没有办法将asset()的网址更改为http://my-url/public/assets/

我有很多资产文件,我应该在我的刀片模板中使用,而且我不想随时写assets

我的意思是在我的刀片模板中使用asset('js/script.js')而不是asset('assets/js/scripts.js')

4 个答案:

答案 0 :(得分:3)

覆盖默认asset()是一个坏主意,但您可以defining your own helper implementation执行此操作:

function asset($path, $secure = null)
{
    return app('url')->asset($path.'/asset', $secure);
}

但这是定义自己的助手的更好方法,例如customAsset()

答案 1 :(得分:2)

默认情况下,没有任何配置。您可以像这样创建自定义函数:

function my_asset($path, $secure = null){
    return asset('/assets/' . trim($path, '/'), $secure);
}

答案 2 :(得分:2)

我也有使用S3作为文件提供程序的情况。搜索Laravel文档后,我找到了以下解决方案。您可以通过在.env文件中设置ASSET_URL变量来配置资产URL主机。

https://laravel.com/docs/7.x/helpers#method-asset

答案 3 :(得分:0)

根据 laravel 8.x 文档,您可以通过在 .env 文件中设置 ASSET_URL 变量来配置资产 URL 主机。

在您的 .env 文件中:

ASSET_URL=/public/assets

如果没有发生变化,记得运行 php工匠配置:清除