Мой браузер не находит изображения, определенные в файле css. В качестве примера я использую это:

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

Он находится на моем локальном компьютере (машина с Windows, веб-каталог не определен), но не на моем тестовом сервере.

Использую laravel 5 + forge + elixir. В Forge я определил свой веб-каталог как «/ public».

Моя структура папок такая:

  • приложение
  • config
  • Др
  • общественности
    • 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? Или заменить их в общую папку?

0
user5512902 11 Май 2016 в 22:58

2 ответа

Лучший ответ

Согласно документации, папка resources не предназначена для того, что вы хотите:

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

Кроме того, Laravel явно использует папку public в качестве корня документа, так что никто не может получить доступ к файлам / ресурсам за пределами этого каталога. Лучше создайте папку images внутри папки public и поместите туда свои изображения.

1
codedge 11 Май 2016 в 20:14

Я согласен с @codedge, вы должны получать доступ к своим изображениям из общей папки. Если вы уже используете gulp, вы можете просто добавить задание копирования в gulpfile.js. что-то вроде:

elixir(function(mix) {
        mix.copy('resources/images', 'public/images');
});
0
Wesley Agena 11 Май 2016 в 22:02