首页 文章

链接到laravel forge中publick文件夹之外的资产

提问于
浏览
0

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

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

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

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

我的文件夹结构如下:

  • app

  • 配置

  • 公众

  • css

  • all-12345678.css

  • js

  • all-12345678.js

  • 资源

  • 资产

  • img

  • image-1.png

  • image-2.png

  • image-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 回答

  • 1

    我同意@codedge,您应该从公共文件夹访问您的图像 . 如果您已经在使用gulp,则可以将复制作业添加到gulpfile.js . 就像是:

    elixir(function(mix) {
            mix.copy('resources/images', 'public/images');
    });
    
  • 0

    根据documentationresources 文件夹不是为你想要的:

    The resources directory contains your views, raw assets (LESS, SASS, CoffeeScript), and localization files.

    此外,Laravel显式使用 public 文件夹作为文档根目录,这样任何人都无法访问此目录之外的文件/资产 . 你最好在 public 文件夹中创建一个文件夹 images 并在那里放入你的图像 .

相关问题