2016-11-08 4 views
0

Первый случай: У меня есть какой-то скрипт, который я сам набрал (давайте назовем его request.js).Каков наилучший способ управления js-пакетами/файлами в Laravel 5.3?

Второй корпус: есть большой плагин TinyMCE, который я могу установить из беседки или npm.

В первом случае, насколько я понимаю, я должен сохранить свои сценарии в ресурсах/активах/js. Но где я могу назвать их после этого? В активах/js есть 2 файла, которые были установлены с помощью Laravel 5.3: app.js и bootstrap.js. Должен ли я называть мои скрипты в этих файлах, а затем глотать их в один?

Во втором случае я должен использовать некоторый менеджер пакетов npm или bower. Но что мне делать дальше? Где я должен называть эти установленные пакеты? В активах/js/- app.js или bootstrap.js? Но как, а может, я не должен этого делать?

ответ

1

Трудно поставить компоненты балансировки только в ресурсах/активах/js, потому что эти компоненты часто состоят из множества файлов js/css/others. Я просто использую bower install внутри корня установки, появляется bower_components dir, и я помещаю его в .gitignore. Любой, кто подталкивает изменения, может установить боулинг.

Идти далее, я делаю файл, где я создаю объект json с двумя значениями js и css, где я помещаю путь к файлам, которые мне нужны. Тогда я требую его внутри gulp.js, и я могу делать все, что захочу, с этими файлами. Обычно concat, minify, копировать результат публично.

Нет ничего плохого в том, что вы устанавливаете интерфейс на тот же сервер. Может быть, вы работаете в одиночку или в небольшой команде, и у вас нет времени на то, чтобы управлять слишком многими вещами.Обычная практика, которую я вижу во всем, заключается в том, что люди делают углы внутри root и просто захватывают все js/html-файлы внутри этого каталога и копируют их публично внутри gulp.

+0

Thx для этого ответа! Будет ли это ** OKAY **, если я сделаю что-то вроде этого: например, я установил через bower или npm некоторый ** пакет **, который состоит из стилей sass и некоторого javascript. После этого я импортирую ** стили ** из этого пакета в ** основной ** sass файл. ** Сценарии ** из этого пакета я буду включать в файл gulp и объединить его с ** другими ** скриптами из других пакетов или скриптов, сделанных мной. Так? – nikosson

+1

Вы можете сделать это, это будет трехступенчатая операция, стили concat vendor, постройте свои стили, совместите свои стили с поставщиком. Мне нравится хранить четыре отдельных файла css/js. Mine css/js и vendor css/js. И с sass это будет еще проще, вам не обязательно контактировать с продавцом, все будет работать сразу. Например, laravel по умолчанию включил (не знаю, как он находится в текущей версии) bootstrap sass files в app.scss. Просто следите за ходом ./;) – cssBlaster21895

+0

И последний вопрос, чтобы указать некоторые вещи: я установил беседку и установил пакет. Затем в файле gulp.js я должен вызывать скрипты из этого пакета, smth как этот '.scripts (['/ bower_components/etc' ], './public/js/etc');'. Но это не сработает: мне нужно сделать что-то вроде '../../../ bower_components/etc', потому что elixir использует' resources/assets/js' в качестве папки по умолчанию для активов. Я делаю что-то неправильно или это правильный способ сделать это? – nikosson

1

Это мнение основано, но я считаю, что не рекомендуется смешивать интерфейсные и внешние интерфейсы.

Ваше предложение

Общедоступного (передний конец) файлы, как загрузчик, вы должны хранить их в public/ установке Laravel. Вы можете использовать public/assets/js и т. Д. Папка resources недоступна в ваших html-файлах (если вы имеете в виду папку вашей установки Laravel).

Лучший подход

Лучший подход к separate totally ваш передний конец с фоновым. В этом случае вам нужна инфраструктура front-end, например AngularJS или Ember.

Почему?

  • Вы можете replace один из них without troubles в другой
  • Вы можете использовать Админцетр в качестве third party api (https://api.yourdomein.com/v1/...)
  • No conflicts с видом лезвия и другие форматы шаблонов
  • Конечно, separation of responsibilities
1

Необходимо установить компоненты вашей акустической системы в папку resources/assets/js. Затем добавьте любой из этих компонентов в процесс сборки в вашем gulpfile. Таким образом, у вас есть полный контроль над тем, что конкатенируется и минимизируется и в конечном итоге включается в ваши шаблоны.

+0

так что у меня должна быть папка «bower_components» в «resources/assets/js» или в каком-то файле (например, «app.js»), я должен вызывать эти компоненты башни, а затем глотать их? – nikosson

+0

Да, 'resources/assets/js/bower_components' - добавьте файлы js из этого в свой' gulpfile.js' - конкатьте их, уменьшите их, измените их ... что угодно. Затем включите выходной файл (ы) в свои шаблоны. – swatkins