Alex_Wells
@Alex_Wells
PHP/Kotlin

Как использовать строгий порядок в Laravel Mix?

Пишу сайт, использую AdminLTE для front-end'а. Написан он на less и скомпилирован в css, так что приходится делать что-то типа этого:

mix.sass('node_modules/bootstrap-sass/assets/stylesheets/_bootstrap.scss', 'public/css/bootstrap.css')
    .sass('node_modules/normalize-scss/sass/_normalize.scss', 'public/css/normalize.css')
    .combine([
        'public/css/bootstrap.css',
        'public/css/normalize.css',
        'node_modules/admin-lte/dist/css/skins/_all-skins.css',
        'node_modules/admin-lte/dist/css/AdminLTE.css',
        'node_modules/ionicons/dist/css/ionicons.css',
        'node_modules/font-awesome/css/font-awesome.css'
    ], 'public/css/vendor.css');

mix.js(['resources/assets/js/app.js', 'resources/assets/js/adminlte.js'], 'public/js/app.js');
    //.extract(['vue']);

mix.sass('resources/assets/sass/app.scss', 'public/css');

Но laravel mix ругается:

AssertionError: Mix.combine() error: "public/css/bootstrap.css does not exist.

Поэтому вопрос: как сделать жесткий порядок исполнения? Laravel mix который новый, на webpack'е, а не старый. 5.4.
  • Вопрос задан
  • 1790 просмотров
Решения вопроса 1
@manjak
Используйте laravel-mix версии 0.8.8. В нем уже можно сначала скомпилить scss в css, а потом сделать combine этого файла с другими.
конфигурация ноды:
node v7.7.2
npm v4.1.2
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Sanasol
@Sanasol
нельзя просто так взять и загуглить ошибку
разбить на несколько "задач"
mix.sass()
mix.sass()
mix.sass()

mix.sass('app.scss', 'public/css/_app.css');

mix.styles([
    '../../../public/css/_app.css',
    '../../../public/css/styles.css',
], 'public/css/app.css');
Ответ написан
c_i_h
@c_i_h
Full-Stack PHP/JS
Понимаю, что некропостинг, но все же...
Как вариант, собрать все нужные css и scss в файле app.scss в нужном порядке и потом его скомпилировать в mix.
Ответ написан
Alex_Wells
@Alex_Wells Автор вопроса
PHP/Kotlin
Порыв код я понял, что webpack срабатывает лишь единожды. Это не таск билдер. По этой причине я вернусь на gulp и старый-добрый elixir. Всем спасибо.

ПС: если у кого-то все таки есть решение - напишите))
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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