更改Laravel中的资源帮助器URL

jdgnovmf  于 2022-11-26  发布在  其他
关注(0)|答案(4)|浏览(131)

asset()URL::asset()默认指向http://my-url/public/
有没有办法将asset()的url更改为http://my-url/public/assets/
我有许多资产文件,我应该在我的刀片模板中使用,我不想写assets任何时候。
我的意思是在我的刀片模板中使用asset('js/script.js')而不是asset('assets/js/scripts.js')

ix0qys7i

ix0qys7i1#

我也在使用S3作为文件提供者的情况下。在搜索Laravel文档后,我发现了以下解决方案。您可以通过在.env文件中设置ASSET_URL变量来配置资产URL主机。
https://laravel.com/docs/7.x/helpers#method-asset

u3r8eeie

u3r8eeie2#

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

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

mspsb9vt3#

根据laravel8.x文档,您可以通过在.env文件中设置ASSET_URL变量来配置资产URL主机。
在您情况下,在.env文件中:
资产URL=/公共/资产
如果没有发生更改,请记住运行php artisan config:clear

nkkqxpd9

nkkqxpd94#

覆盖默认的asset()不是一个好主意,但是可以通过定义自己的帮助器实现来实现:

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

但是,这是定义您自己的辅助对象(如customAsset())的更好方法。

相关问题