Как использовать Laravel 5 с Gulp, Elixir и Bower?

Я совершенно новичок во всем этом, «Бауэр», «Гулп» и «Эликсир» Laravel. Я купил шаблон, который их использует (к сожалению), и теперь мне нужна помощь в том, как их реализовать. Я уже установил NPM и Bower. Все мои пакеты были загружены в:

resources > assets > vendor

Это скриншот:

введите здесь описание изображения

Теперь мой вопрос: как мне включить все те пакеты, которые я скачал, в свое представление? Насколько я понимаю, я не могу запускать меньше файлов непосредственно в браузере, он запускается только один раз из-за «кеширования браузера» или чего-то в этом роде, также JS-скриптов слишком много, чтобы включить их на мою страницу.

Мне нужен способ, с помощью которого я могу работать со своими файлами и автоматически компилировать их со ссылками на скомпилированные файлы в моем файле app.php.

Это ссылка на файл GulpJS, включенный в мой шаблон: http://pastebin.com/3PSN6NZY


person user3718908    schedule 03.08.2015    source источник


Ответы (1)


Вам не нужно компилировать каждый раз, когда кто-то посещает. Скомпилированный sass/js следует запустить в dev, а затем указать ссылки на выходные файлы.

Если в проекте установлен gulp, вы должны увидеть файл gulp.js в корне вашего проекта. Если нет, посетите здесь для получения инструкций:

Установка и настройка Gulp/Elixer

В вашем файле gulp.js:

var elixir = require('laravel-elixir');

elixir(function(mix) {
    mix.less([
    'app.less',
    'normalize.less',
    'some-other-less.less',
    'and-another.less'
]);


mix.scripts(['app.js', 'some-other-js.js'], 'public/js/output-file.js');


});

Во время разработки вы можете запустить gulp watch из командной строки, чтобы отслеживать изменения и запускать задачи компиляции, когда он слышит изменения. Затем вы просто ссылаетесь на выходные файлы в общедоступном каталоге, как обычно.

Если вы не хотите слушать, вы можете просто запустить команду gulp для однократного запуска задачи.

Документы довольно просты, и их можно найти здесь:

документы Gulp/Elixer

person Bill Dukelow    schedule 03.08.2015
comment
Большое спасибо, это меня очень запутало, прямо сейчас моя настоящая проблема заключается в том, что делать с файлом gruntjs, который идет с шаблоном, кажется, в нем много кода, где его разместить? Код кажется отличным от того, что создал laravel-elixir. - person user3718908; 03.08.2015
comment
Я так смущен тем, как смешивать и компилировать все файлы в моей папке assets/vendor. Документы и видео, которые я смотрел до сих пор, только показывают, как компилировать bootstrap. - person user3718908; 03.08.2015
comment
Grunt — это просто еще один таск-раннер. Нет смысла использовать одновременно gulp и grunt. Как ссылаются на файлы ресурсов (css/js и т. д.) в шаблоне? - person Bill Dukelow; 03.08.2015
comment
Вот как выглядит файл шаблонов index.html: pastebin.com/bYY73JwE - person user3718908; 03.08.2015
comment
Итак, как вы можете видеть из этого файла, автор запускает сборки из файлов CSS и JS. Если вам не нравится grunt и вы предпочитаете gulp, я бы воспроизвел эти сборки с помощью Elixer/Gulp, как показано выше, если вы знаете, что делаете. В шаблоне используется смесь Laravel и Angular, и, поскольку я не угловой, мне было бы неудобно советовать, какие представления зависят от того, что в шаблоне. - person Bill Dukelow; 03.08.2015
comment
Я так запутался, что даже не знаю, какие вопросы задавать, я совершенно новичок в gulp/grunt/elixir, я читал документы, но никогда раньше их не реализовывал. - person user3718908; 03.08.2015
comment
Я попробовал mix.vendor(), чтобы смешать все файлы в папке моего поставщика, но это не сработало, когда я запустил gulp --production, он сказал TypeError: undefined не является функцией - person user3718908; 03.08.2015
comment
термин mix.sass или mix.less не является ссылкой на каталог, это ссылка на тип файла. Если вы хотите смешать файл меньшего размера в папке поставщика, вам нужно использовать mix.less(['vendor/my-less-file.less', 'vendor/my-other-less-file.less']); . Если вам нужно больше узнать об elixir и laravel, я бы проверил laracasts, чтобы дать вам основу. Вероятно, это не лучшая идея — брать Laravel из шаблона, особенно из шаблона, который смешивает с ним другой фреймворк MVC. Возможно, вам будет лучше получить другой шаблон, так как кривая обучения здесь кажется довольно крутой. - person Bill Dukelow; 03.08.2015
comment
Хорошо, я думаю, что, возможно, у меня это получается, поэтому я использую gulp для создания мини-сборки, которую я могу запустить в своем браузере, затем я использую часы эликсира для просмотра файлов, в которые я вношу изменения, чтобы он автоматически запускал gulpjs? - person user3718908; 03.08.2015
comment
Можем ли мы поговорить об этом в чате? Это будет быстро. - person user3718908; 03.08.2015