@atachrus

Как указать папку для изображений из sass в Laravel mix?

Подскажите такой момент.
Что бы изображения и шрифты при компиляции SASS, падали в нужную мне папку я указываю директивы
mix.config.fileLoaderDirs.images = '/myFolder1/images';
mix.config.fileLoaderDirs.fonts ='/myFolder1/fonts';

Но дело в том что у меня компилируются несколько пакетов SASS для клиентской и админский части. Как разделить это?
Т.е. что бы данная директива, применялась только к нужной мне задачи.

Пробовал переназначить, путем указания непосредственно перед задачей, но не получается
mix.config.fileLoaderDirs.images = '/myFolder1/images';
mix.config.fileLoaderDirs.fonts ='/myFolder1/fonts';
mix.sass('resources/app1.scss', '/myFolder1/app.css');

// Переназначаю папки хранения images и fonts
mix.config.fileLoaderDirs.images = '/myFolder2/images';
mix.config.fileLoaderDirs.fonts ='/myFolder2/fonts';
mix.sass('resources/app2.scss', '/myFolder2/app.css');

Но нет. Директива указывается видать только один раз и соответственно просто перезаписываются последним значением.
  • Вопрос задан
  • 496 просмотров
Решения вопроса 1
delphinpro
@delphinpro Куратор тега Laravel
frontend developer
Зачем же по сути два проекта пихать в один конфиг? Напишите разные, и запускайте по отдельности.
Я сейчас не помню, можно ли в package.json указывать разные .mix.js файлы. Но точно можно внутри этого файла писать условные конструкции. Это же просто js файл. Вот и ориентируйтесь на переменные окружения, которые задавайте в строке запуска команд..
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
feycot
@feycot
mix.js('resources/js/app.js', 'public/js')
    .sass('resources/sass/app.scss', 'public/css')
    .copyDirectory('resources/assets/img', 'public/img');

Вот таким образом mix работает в https://github.com/fey/hexlet-sicp/blob/master/web... этом проекте
Т.е. если вам нужно скопировать разные файлы из разных директорий, то можете попробовать этот способ.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы