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

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

РЕДАКТИРОВАТЬ: Чтобы было немного понятнее: моя самая большая проблема заключается в том, что у меня есть две папки в «ресурсах/активах»: js и css. Поэтому я в основном хочу минимизировать все файлы и минимизировать их в «public/js» и «public/css».


person LuMa    schedule 14.05.2015    source источник


Ответы (4)


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

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

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

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

mix.less('app.less', 'public/assets/css');
person Kevin Woblick    schedule 30.07.2015
comment
Я предпочитаю, чтобы gulp запускался одновременно, поэтому вы получаете как файлы разработки, так и рабочие файлы. Затем в моем приложении, в зависимости от среды, я просто загружаю соответствующий. Это намного лучше, чем каждый раз помнить о необходимости минификации. - person Oddman; 27.12.2015

глоток --производство.

Джеффри Уэй ответил по этому вопросу здесь: https://laracasts.com/discuss/channels/elixir/elixir-doesnt-minify

Или вы можете найти его в документации. Наслаждайтесь кодированием!

person Kuya A    schedule 30.06.2016

Если вы просто хотите скопировать файлы .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 (создает минифицированные файлы), как указано в сообщениях выше.

person o.v    schedule 21.12.2016

Прямо из документов 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

документы: https://laravel.com/docs/5.3/elixir#running-elixir< /а>

person john    schedule 18.02.2017