在 Laravel 中,您可以执行以下操作之一:
<link rel="stylesheet" href="/css/app.css">
<img src="/storage/img/logo.svg">
<script src="/js/app.js"></script>
<!-- same as the following -->
<link rel="stylesheet" href="{{asset('css/app.css')}}">
<img src="{{asset('storage/img/logo.svg')}}">
<script src="{{asset('js/app.js')}}"></script>
第一个是相对路径(相对于公共(public)目录),第二个生成绝对路径。
除此之外,结果有什么不同吗?至少在 Chrome、Opera 和 Firefox 中我看不出有什么不同。
使用一个比另一个有什么优势吗?也许在性能或兼容性方面?一个加载速度比另一个快吗?
最佳答案
可能存在主要差异。
asset
助手是 CDN 感知的。设置 app.asset_url
配置值会导致 asset()
将该 URL 附加到它生成的每个链接,这在您使用 CDN 时非常有用。
此外,如果您的应用最终托管在一个子目录中,它会为您节省大量工作 - 您所要做的就是设置 app.url
和 asset
将吐出正确的 URL 到 js/app.js
(即 /a/sub/folder/js/app.js
)。
关于Laravel Assets 与相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57680146/