За последние 24 часа нас посетили 20320 программистов и 1084 робота. Сейчас ищут 772 программиста ...

взаимодействие laravel с node js

Тема в разделе "Laravel", создана пользователем Taktreba, 4 сен 2018.

  1. Taktreba

    Taktreba Активный пользователь

    С нами с:
    11 янв 2017
    Сообщения:
    543
    Симпатии:
    132
    возможно вопрос в title не корректно поставлен, но попытаюсь объяснить:
    насколько я понял, все новые грамотные, современные, более менее крупные приложения (или по крайней мере многие) разрабатываются следующим образом (смотри спойлер)
    upload_2018-9-4_15-41-37.png

    так вот как заставить взаимодействовать бекенд и фронтенд?
    хочу разработку вести на laravel а фронт на vue (да я знаю что vue есть в ларавель из коробки, просто я хочу понять смысл работы приложения, а реакта или ангуляра не знаю)
    на сокетах? аяксом?
    кто то может дать подробную инструкцию или кинуть в меня ссылкой, не могу правильно нагулить...
     
  2. villiwalla

    villiwalla Активный пользователь

    С нами с:
    14 дек 2016
    Сообщения:
    471
    Симпатии:
    70
    По картинке, ноду ты запихал не туда, она на бэке. Можешь на сокетах, можешь на аяксе. По апи или гонять туда сюда в raw json.
     
  3. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.068
    Симпатии:
    1.231
    Адрес:
    там-сям
    Нода конечно не с той стороны указана.

    По идее, твоему фронтенду пофигу что именно крутится на беке: нода или пхп.

    АПИ это описание что и как передается. Сначала описываешь АПИ, потом заставляет бек и фронт ему соответствовать. Всё.

    Почитай про REST, будет хорошее представление о том как это обычно выглядит. Даже если не реализовано не совсем как REST :)
     
  4. Taktreba

    Taktreba Активный пользователь

    С нами с:
    11 янв 2017
    Сообщения:
    543
    Симпатии:
    132
    вот у меня при установке vue-cli запускается Localhost:8080 - я это называю фронтендом
    а ларавель запускается localhost:80 (ну на openserver) - это я называю бэкендом

    какие доп. механизмы мне нужны?
     
  5. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.068
    Симпатии:
    1.231
    Адрес:
    там-сям
    Что-то слушающее порт на сервере - это бекенд.
     
  6. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.548
    Симпатии:
    1.754
    @Taktreba, фронт в данном случае - это то, что работает на клиенте. Node-js крутится на сервере и она тоже бэк.
     
  7. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.068
    Симпатии:
    1.231
    Адрес:
    там-сям
    Я бы начал с того, что избавился бы от лишнего сервера. Тупо не надо запускать его.
     
  8. Taktreba

    Taktreba Активный пользователь

    С нами с:
    11 янв 2017
    Сообщения:
    543
    Симпатии:
    132
    а в этом же и состоит моя задача... разобраться как оно работает
    один наш с тобой общий знакомый, дал мне один проект, там как раз такая система, я смог запустить фротн( там кажется vue был) а вторую часть я не смог запустить (
    этот проект я пока отложил (если повезет то он меня дождется), и что бы разобратся решил свой похожий создать
    --- Добавлено ---
    да, это я понял... тогда буду называть их не фронт и бек а сервер-1 и сервер-2
    на сервере-1 vue
    на сервере-2 laravel и sql
    --- Добавлено ---
    или наоборот добавить еще один
    upload_2018-9-4_16-45-45.png
     
  9. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.068
    Симпатии:
    1.231
    Адрес:
    там-сям
    Ты встречаешь в доках примеры где запускается собственный сервер - на ноде ли, на пхп ли - только для того, чтобы пример заработал без лишних зависимостей!!! Без сука установки другой инфраструктуры, кроме той, которая описывается в этой доке.

    Так вот, блин, когда склеиваешь это вот всё, один из серверов становится лишним. А если утебя уже есть свой LAMP, то оба они лишние. Нужен только один сервер для обработки запросов от фронта на бек.
    --- Добавлено ---
    Ты написал: "хочу погонять laravel в связке с vue". Пока твой фронт, взятый из готовых примеров как я понимаю, обращается к СВОЕМУ блин серверу на ноде, у тебя не будет связки с laravel. Как-то так.
     
  10. Taktreba

    Taktreba Активный пользователь

    С нами с:
    11 янв 2017
    Сообщения:
    543
    Симпатии:
    132
    допустим я понял что ты имеешь ввиду (допустим=)).
    Тогда у меня есть сервер, на нем есть админка на ларавель в которой я сохраняю БД с инфо по авто
    upload_2018-9-4_16-53-15.png
    и хочу что бы моя админка подготавливала АПИ c информацией для разных сайтов, один сайт на vue.js, второй на react, третий на angular -
    это при локальной разработке я могу все 4 проекта на одном сервере запускать. А ВОТ ЕСЛИ админка на ларавель у меня, а сайт автомобилей на vue.js у тебя! - мне тебе тупо json:ом передавать данные?
     
  11. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.548
    Симпатии:
    1.754
    Laravel c Vue склеивается через https://laravel.com/docs/master/mix. Как и с Angular и всем остальным, по идее.
    Можешь XML, можешь вообще свой формат разработать, но лучше json-ом, чтобы JS его лучше понимал
     
    #11 mkramer, 4 сен 2018
    Последнее редактирование: 4 сен 2018
  12. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.068
    Симпатии:
    1.231
    Адрес:
    там-сям
    АПИ делается для того чтобы каждая сторона соответствовала общим требованиям.
    Серверу без разницы природа клиента и наоборот тоже. Нет никаких проблем чтобы к беку на ларавель обращались разные фронты сделанные на разных фреймворках. Есть АПИ, запросил вот с такими параметрами. получил вот такой ответ.
    Да, сейчас как правило данные заворачивают в JSON.
    --- Добавлено ---
    Хотя существует ещё протокол SOAP, у него в основе XML. Он больше для запросов сервер-сервер используется,
     
  13. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Taktreba нравится это.
  14. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.068
    Симпатии:
    1.231
    Адрес:
    там-сям
    @Taktreba это не имеет отношения к ларавель, если чо ))) я бы убивал за такие подсказки.
     
  15. Taktreba

    Taktreba Активный пользователь

    С нами с:
    11 янв 2017
    Сообщения:
    543
    Симпатии:
    132
  16. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    @artoodetoo То что есть в ларке с vue это никому не нужное устаревшее подобие непонятно чего. Как говорил Димка смешали все по принципу компота.
     
  17. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.548
    Симпатии:
    1.754
    @Taktreba, ну да. Всё просто :) Ну к этому можно ещё всякие токены привязать и прочую лабуду. Плюс post/put/delete для добавления/удаления данных, если надо
     
  18. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    А что не так смешали, что с чем надо смешивать? :)
     
  19. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    То что в ларке это далеко не полноценное апи. То что в ларке поисковыми системами не индексируется. Использовать можно разве что в админке. Зачем вообще смешивать классику и современные подходы. Вот потому и компот. Ссылка на доку выше если интересно посмотри. Или можно вообще без сср. Учится на примере того что есть точно не стоит.
     
  20. villiwalla

    villiwalla Активный пользователь

    С нами с:
    14 дек 2016
    Сообщения:
    471
    Симпатии:
    70
    Да. Можешь хоть XML отдавать в результате, как тебе уже говорили, по урл или get набору параметров.