在Laravel 5中,我应该在哪个目录中存储图像(用于背景)以及如何在CSS文件中访问它。我的CSS文件位于public/css
目录中。我已尝试将图片放在public/images
和public/assets/images
中,但无法正常工作,甚至无法直接从网络浏览器访问该图片。
答案 0 :(得分:5)
在CSS中,您可以访问公共/图像中的图像,例如
../images/imgename.jpg
在刀片模板中,您可以使用类似
的内容{{ asset("images/imagename.jpg") }}
答案 1 :(得分:1)
public/
内的所有文件都可以通过网络浏览器访问,只需将图片或css放在那里。例如:
public/images/foo.png
public/css/style.css
通常在此结构中只需要执行background: url('../images/foo.png')
。
但是,有些人在使用像background: url('/images/foo.png')
这样的绝对路径时遇到了问题,为什么?因为laravel安装是在htdocs/
或public_html/
下进行的,具有以下结构:
/home/user/public_html/laravel/public/
如果您使用上述结构,则需要background: url('/laravel/images/foo.png')
答案 2 :(得分:0)
public
没问题。您应该通过例如/images/xy.jpg
或/assets/images/xy.jpg
在css文件中访问它们。 /在开头有意义引用根目录。
如果这不起作用,请提供图像路径,css和不适用于图像的示例css文件。
答案 3 :(得分:0)
您可以使用:url(http://localhost:8000/imgs/image_name.extension),如下所示:http://localhost:8000/img/spacer.png但请注意在部署更改localhost:8000中的开发环境中为您的域名执行此操作
答案 4 :(得分:0)
对我来说,答案是使用波浪号(〜)代替点:
因此CSS中的整行变成:
background: url('~/storage/images/DownArrow.png') no-repeat right #fff;
该存储文件夹位于公用文件夹中。
使用Laravel 5.7,我一直在运行'npm run dev'并且得到: 模块构建失败:ModuleNotFoundError:未找到模块:错误:无法解析“ C:\ xampp \ htdocs \ websitename \ resources \ sass”中的“ ./storage/images/DownArrow.png”
在另一个论坛中感谢“流失”。他还说:“在有关静态资产的Vue CLI章节中对此没有很好的记录。”