Есть код:
<link href="{{ elixir("css/material-dashboard.css") }}" rel="stylesheet" />
Я понимаю что, что он соединяет компилированные стили но что значит функция elixir(), почему не использовать просто asset()?
Какую дополнительную пользу дает использование функции elixir()?
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() - обработать, создать кеш, и выдать корректный путь к этому кешу.
Читайте документацию: Elixir
elixir может выполнять gulp-задачи. Преобразовывает пути в абсолютные. asset только преобразовывает путь из относительного в абсолютный.
В Вашем варианте как раз ничего не соединяется.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей