Непонятный код в Laravel Blade

185
26 октября 2018, 15:40

Есть код:

<link href="{{ elixir("css/material-dashboard.css") }}" rel="stylesheet" />

Я понимаю что, что он соединяет компилированные стили но что значит функция elixir(), почему не использовать просто asset()?

Какую дополнительную пользу дает использование функции elixir()?

Answer 1

elixir() нужен для CSS с увеличенным уровнем абстракции.

Многие программисты, когда занимаются дизайном, используют SASS, LESS и т.д.

Это такие штучки в которых CSS выглядит более удобно.

Ну например:

SASS:

.div {
    a {
        color: #000;
    }
}

CSS:

.div a {
    color: #000;
}

SASS:

%my-div-style {
  color: #000;
}
.div1 {
  @extend %my-div-style;
  background-color: #fff;
}
.div2 {
  @extend %my-div-style;
  background-color: #fff;
}

CSS:

.div1, .div2 {
    color: #000;
}
.div1 {
    background-color: #fff;
}
.div2 {
    background-color: #fff;
}

Понятное дело что чистый SASS в .css не положишь, потому что он не соответствует синтаксису CSS. Поэтому нужен тот, кто займется переделыванием SAAS --> CSS. И как можно понять, такого козлика нашли :)

Т.е. программист занимающийся дизайном пишет на SASS, а потом через elixir() все это дело переделывается в CSS.

После того как скомпилировался CSS, у него название стало другое. Был test.sass потом стал test-hash.css. Вот чтоб название сохранить используется {{ elixir('test.sass') }}.

elixir - изменяет файлы и создаешь их кеш.

Если вы используете elixir для .css перед этим не вызвав elixir(function()){} то конечно разницы с asset() не будет. Но если вы сделаете например:

elixir(function(mix) { // Пример из документации
  mix.version(['css/all.css']);
});

То тут уже разница в результате будет, потом что elixir создаст для этого файла кеш, будет другой путь и он вам его выдаст

Задача asset() - формировать корректный путь. Задача elixir() - обработать, создать кеш, и выдать корректный путь к этому кешу.

Answer 2

Читайте документацию: Elixir

elixir может выполнять gulp-задачи. Преобразовывает пути в абсолютные. asset только преобразовывает путь из относительного в абсолютный.

В Вашем варианте как раз ничего не соединяется.

READ ALSO
Как получить цвет ячейки? google таблицы api php

Как получить цвет ячейки? google таблицы api php

Собственно вопрос в заголовке! Нашел кучу информации как в таблице установить цвет на ячейку, отформатировать ее, и тому подобное, но как...

153
Как удалить запись массива из сессии - PHP

Как удалить запись массива из сессии - PHP

есть вот такой массив в котором лежит 3 товара и передается через $_SESSION['shopping_cart'][]:

145
Сжатие изоображений на yii2

Сжатие изоображений на yii2

Как сжимать изображение, кадрировать со стороны сервера и выводить их так

180
PHP Преобразование цвета red=1 green=1 blue=1 в hex

PHP Преобразование цвета red=1 green=1 blue=1 в hex

Получаю с гугл таблицы цвет ячейки, выдает в таком виде red=1 green=1 blue=1

144