Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Не так давно начал работу с Composer, хотелось бы понять вот какие моменты:
1. Как во вьюшках, в HTML корректно и профессионально прописать ссылки на нужные скрипты плагинов? (если указывать /vendor/... - то роутинг "не пускает" - ведь они не в public лежат)
2. Может быть, есть какой-то профессиональный способ указания подобных asset'ов где-то в массиве конфигурации? Чтобы теги со ссылками в <head> разделе формировались автоматически...
3. Если все же вручную прописывать, то может есть какие-то горячие клавиши в phpstorm чтобы быстренько выбрать файл в открывшемся файл-менеджере, и ссылка на него вбилась после позиции курсора... Скорее всего есть что-то подобное?
А то я как-то костыльно лажу по дереву ресурсов слева, жму у файла Copy Reference, потом вставляю в код, укорачивая начальные C:/OpenServer/domains/...
В общем, я думаю, ответы на эти вопросы, попутные советы и мысли наверняка будут полезны и интересны многим.
Можно рассмотреть вот на примере установки пакета bootstrap и jquery через композер.
Они в итоге лежат у меня в папках
vendor/components/bootstrap
vendor/components/jquery
Не в сети
С помощью Gulp'а можешь копировать файлы в public пупку.
Не в сети
Я так понимаю, там все завязано на Node.js
А как быть с проектами для работы на шаред-хостингах?
Ну, а если даже предположить, что gulp будем запускать на локалке а на хостинг просто сливать нужные файлы - то
я честно говоря не представляю, как этот gulp запустить на OpenServer-е локальном. Там вроде тоже нет node.js.. (
Не в сети
для ноды есть установщик под винду. вообще шаред - это та ещё засада. некоторые вообще не позволяют настроить public корнем веб-сайта
Не в сети
Думаю многие пакеты, которым это нужно, поддерживают команду http://laravel.com/docs/5.1/packages#public-assets
Не в сети
С gulp/grunt реализуется сборка программы, а в продакшене эти инструменты не обязательны. Node инсталлируется отдельно. На Винде, думаю, это не сложно. Если хочешь всё из коробке рассмотри Laravel Homestead.
Не в сети
Попробовал пример из http://laravel.com/docs/5.1/packages#public-assets - там в примере пути какие-то странные,
по идее же из vendor наоборот должно копироваться в публичную папку с вьюхами...
Попробовал поменять пути на свои, но после артизан-команды vendor:publish он не всю папку скопировал а какой-то один единственный sass-файл. В общем, пока темный лес для меня...)
К Laravel Homestead присматриваюсь, но пока боюсь переходить, т.к. проектов в работе много, и дедлайны сдвинутся, - день-два все равно на "переезд" убьешь. Как всегда - привычное и освоенное "тянет" назад.
Суть сборщиков я понял, минимификация и конкатенация, хеширование имен для подгрузки новых версий в браузеры без рефреша.
Это все круто - и я уже чувствую, что мне это нужно бывает... Но не настолько крупные проекты, наверное еще )) Обхожусь "ручками".
Сейчас хочется больше попробовать сам Laravel изнутри. Т.е. не хочется тратить много времени на освоение сборщиков. Разумеется, попозже я вернусь к этой теме. Именно из этих соображений, хотелось бы простой и банальный пример реализации в Laravel-структуре: на примере bootstrap3 + jquery - как в простейшем случае их более-менее правильно и без "костылей" подключить к страницам и прописать в layout-ах шаблонов. Создать папку assets внутри папки с вьюхами и туда закинуть css-js?
Ну или может доразвить ту идею с artisan vendor:publish - возможно, я что-то недопонял
Не в сети
Вопрос в принципе решил:
app/Providers/AppServiceProvider.php
public function boot()
{
$this->publishes([
base_path('vendor/components') => public_path('assets'),
], 'public');
}
теперь по команде artisan vendor:publish
содержимое vendor/components (bootstrap и jquery в данном случае) публикуется в public/assets
Аналогично планирую добавить зависимости и для остальных используемых скриптов.
Также настроил Composer для автоматической публикации после обновления версий плагинов
composer.json
"post-update-cmd": [
"php artisan optimize",
"php artisan vendor:publish",
],
Не в сети
Страницы 1