Laravel Elixir: Как минимизировать файлы?

Я хочу использовать Laravel Elixir для минимизации моих файлов css/files. Но я не хочу использовать mix-methode и объединять их. Все, что я хочу, это создать файл custom.min.js из моего оригинального "custom.js". Есть ли способ сделать это с помощью Elexir?

EDIT: Чтобы сделать его более ясным: моя самая большая проблема заключается в том, что у меня есть две папки в "resources/assets": js и css. Поэтому я в основном хочу минимизировать все файлы там, и их минимизировать в "public/js" и "public/css".

Ответ 1

Цитата из документации Laravel:

Примечание. Все задачи предполагают среду разработки и исключают ее. Для производства используйте gulp --production.

Это означает, что если вы хотите, чтобы файлы были сокращены, запустите gulp --production вместо gulp. Это лучше, чем включение сжатия непосредственно в файл gulp и позволяет отлаживать ваши скомпилированные файлы при разработке приложения.

Если вы хотите, чтобы они были помещены в public/assets/css, используйте путь как второй параметр:

mix.less('app.less', 'public/assets/css');

Ответ 3

Если вы просто хотите скопировать файлы .css, не используя LESS или SASS, и не хотите комбинировать файлы (т.е. хотите что-то вроде метода copy() с возможностью минимизации), вы можете использовать метод для объединения, styles(), вызывая его для каждого файла .css и передавая строку имени файла без массива, например:

mix.styles('some.css');
mix.styles('node_modules/bootstrap/dist/css/bootstrap.css', null, './');

То же самое можно сделать для файлов .js с помощью метода scripts():

mix.scripts('some.js');
mix.scripts('node_modules/bootstrap/dist/js/bootstrap.js', null, './');

И затем вы можете использовать gulp (не уменьшает, создает файлы .map) или gulp --production (создает миниатюрные файлы), как указано в предыдущих сообщениях.

Ответ 4

Прямо из документов Laravel/Elixir:

Elixir is built on top of Gulp, so to run your Elixir tasks you only need to run the gulp command in your terminal. Adding the --production flag to the command will instruct Elixir to minify your CSS and JavaScript files:

Run all tasks... gulp

Run all tasks and minify all CSS and JavaScript... gulp --production

docs: https://laravel.com/docs/5.3/elixir#running-elixir