我的浏览器找不到css文件中定义的图像。作为一个例子,我使用这个:
background-image:url(../../../ resources / assets / img / logo.png); }
在我的本地(Windows机器上,没有定义web目录)上找到它,但在我的测试服务器上找不到。
我使用laravel 5 + forge + elixer。在forge中,我将我的web目录定义为“/ public”。
我的文件夹结构如下:
在我看来,我用这种方式链接到css和js文件。浏览器可以找到这些文件:
<link href="{{ URL::asset('') }}{{elixir('css/all.css') }}" rel="stylesheet" type="text/css" />
<script src="{{ URL::asset('')}}{{ elixir('js/all.js') }}" type="text/javascript"></script>
如何链接到css文件中的资源?或者应该将它们替换为公用文件夹?
答案 0 :(得分:1)
根据documentation,resources
文件夹不适用于您想要的内容:
The resources directory contains your views, raw assets (LESS, SASS, CoffeeScript), and localization files.
此外,Laravel显式使用public
文件夹作为文档根目录,这样任何人都无法访问此目录之外的文件/资产。最好在images
文件夹中创建一个文件夹public
,然后将图像放入其中。
答案 1 :(得分:0)
我同意@codedge,您应该从公共文件夹访问您的图像。如果您已经在使用gulp,则可以将复制作业添加到gulpfile.js。类似的东西:
elixir(function(mix) {
mix.copy('resources/images', 'public/images');
});