【发布时间】:2017-02-15 04:49:26
【问题描述】:
我最近重新安装了 Lumen 框架,并开始使用它构建网站。是的,我知道 lumen 仅适用于 API,但请帮我解决这个问题。
我已将所有视图放在 /resources/views 中,并将我的模板放在 /resources/views/templates 中。
现在因为我必须将 [css/js/images] 放在某个地方,所以我想将所有这些都放在 public/assets/[css/js/images]会很好。
现在在我的布局中,当我尝试包含 css 时 - 我使用类似这样的东西 -
<link href="{{ url('assets/css/something.css') }}">
它可以提供类似这样的输出 -
<link href="localhost/assets/css/something.css">
同样的事情也适用于 js,但是当我尝试包含图像时它会变得很奇怪。为了包含图像,我写了类似的东西 -
<img src ="{{ url('assets/images/someimage.jpg') }}"
当我查看页面源代码时,输出与我预期的一样 -
<img src="localhost/assets/images/someimage.jpg">
但我的控制台会触发 404 not found 错误,说明 someimage.jpg 未找到。当我通过检查图像的父级进行交叉检查时,Url 完全不同,就像这样 -
<img src="localhost/images/someimage.jpg">
看,自动从图像 url 中省略“assets”并导致 404,但是当我查看页面源时,我可以看到正确的 url。
我尝试解决的问题 -
清除缓存并重新加载页面。
尝试使用asset() 代替url(),但其原型已从lumen 中删除。
从资产中拉出 [css/js/images] 文件夹并将它们粘贴到父级,即公共。 这行得通,但问题是为什么以前的设置对 css 和 js 都有效,并且只导致图像出现问题?
我的其他问题是 -
1.页面源中的 url 与正在呈现的 url 有何不同?仅提及在我的情况下,页面源中的 url 工作并显示图像,但由于 url 被渲染省略了路径中的“资产”,因此导致 404。
2。有没有其他好方法可以将这些资产包含在视图中。如果是,那么还请说明将它们放在哪里?
附上一些图片/代码供参考。
Output of rendered page showing 404 errors for images but none for css.
Output of view page source windows showing asset included in image path
【问题讨论】:
标签: php laravel laravel-5 lumen lumen-5.2