默认情况下,asset()
或URL::asset()
会指向http://my-url/public/
。
有没有办法将asset()
的网址更改为http://my-url/public/assets/
?
我有很多资产文件,我应该在我的刀片模板中使用,而且我不想随时写assets
。
我的意思是在我的刀片模板中使用asset('js/script.js')
而不是asset('assets/js/scripts.js')
。
答案 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主机。
答案 3 :(得分:0)
根据 laravel 8.x 文档,您可以通过在 .env 文件中设置 ASSET_URL 变量来配置资产 URL 主机。
在您的 .env 文件中:
ASSET_URL=/public/assets
如果没有发生变化,记得运行 php工匠配置:清除