链接到laravel + forge中publick文件夹外的资源

时间:2016-05-11 19:58:11

标签: css laravel laravel-5 forge

我的浏览器找不到css文件中定义的图像。作为一个例子,我使用这个:

  

background-image:url(../../../ resources / assets / img / logo.png); }

在我的本地(Windows机器上,没有定义web目录)上找到它,但在我的测试服务器上找不到。

我使用laravel 5 + forge + elixer。在forge中,我将我的web目录定义为“/ public”。

我的文件夹结构如下:

  • 应用
  • 配置
  • 公共
    • CSS
      • 全12345678.css
    • JS
      • 全12345678.js
  • 资源
    • 资产
      • IMG
        • 图像1.png
        • 图像2.png
        • 图像x.png

在我看来,我用这种方式链接到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文件中的资源?或者应该将它们替换为公用文件夹?

2 个答案:

答案 0 :(得分:1)

根据documentationresources文件夹不适用于您想要的内容:

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');
});