Жесть аноны помохите плиз, а то я кукохой поеду. Я всегда был не в ладах с реактом сам по себе, а тут понадобилось в ларавел запихнуть.И это ппц, чтобы я не читал и не пробовал у меня ничего не работает.А сегодня я вообще потерял важный файл с жс скриптом потому что laravel.mix, ебучий вебпак(ссука как же я ненавижу вебпак и еблю с зависимостями фронетнда) просто потер его.Я делал:Установил ларавел/ui. Установил реакт, нпм, все зависимости разрешились. перегрузились, ошибок нет. Делаю npx mix watch.В блейде у меня <script src="/js/app.js"></script>. //реактТакже <script src="/js/main.js"></script> //мой кастомный скриптДелаю import ReactDOM from 'react-dom', затем ReactDOM.render() в main.js - пишет не может использовать вне модуляЯ и в package.json type='module' делал, и в блейде script type='module' делал, и в webpack.mix.js писал mix.js(...main.js) . Когда делаешь все это то это походу костыли и появляется следующая ошибка типа пропишите путь, хотя предполагаю такого не должно быть вообще когда делаешь импорт реакта Я просто не понимаю как эта херовина должна работать, может кто объяснить.А то что файл потерял это в 10 раз обиднее, сука ненавижу вебпак.
>>2127586Ты херней занимаешься, пытаясь совместить блейд с реактом.От ларавеля реакту нужна только апишка, из которой он будет фетчить данные.Никакие ларавел миксы не нужны, т.к. они жестко привязывают фронт к беку.В идеале у тебя два отдельных приложения, живущих своей жизнью: апи на ларавел и спа на реакте
>>21276121)Не раз уже слышу абреввиатуру СПА. Что она значит? Как расшифровывается?S - service, A-apllication, по логике2)Спасибо, я понял конечно, но у меня бомбит что все гайды и официальные документации заставляют тебя использовать определенные технологии, а они на самом деле не работают и не нужны, а ты сидишь и ковыряешь в этом гумне часами. Класс.Я бы все таки хотел понять, просто понять как оно на самом деле должно было работать. Микс контролирует сборку, вебпак и прочая. Все зависимости докачиваются, пакетики встроенные.Сказано просто добавить script src. Больше ничего не сказано.Очевидно по логике js-а ты кидаешь import-ы. И раз написано что микс добавил, и все смотрит - какого лешего мой срипт не видит реакт? Что я делаю не так? ПС фронтенд приложения куда принято кидать в проекте, в /public?
>>2127658single page applicationТак нужно базу веба знать, а не бросаться грызть гайды, тогда и фундаментальное понимание будет как работает та или иная технология и как их вместе собрать.А то получается идем по гайду, шаг вправо-влево и наши полномочия всё. Или гайд устарел - тоже пук.>ПС фронтенд приложения куда принято кидать в проекте, в /public?В идеале это отдельная репа, которая находится вне репы твоего бекенда.Как это примерно работает:Ты вбиваешь урл spa.hui, тебе грузится само spa, которое представляет собой грубо говоря хтмл, жс, цсс, т.е. статика.Где-то отдельно крутиться бекенд апи, урл которого знает твой спа.Если спа нужно получить/сохранить данные, он будет обращаться к бекенду. Роутинг происходит на уровне спа.Наглядный пример - приложение погоды.Есть некий внешний апи (не твой) weather.com, у которого ты можешь запросить текущую погоду, температуру, влажность, осадки и т.д.Ты пишешь жс приложение, которое получает от апи погоду и выводит юзеру в браузер.
>>2127677Классическое приложение: отправляешь запрос на сервер, получаешь страницу с ответом.Типичное SPA приложение: отправляешь запрос на сервер, получаешь заглушку со спиннером. Ждешь, пока загрузится пара мегабайт яваскрипта, потом ждешь пока она скачает пару мегабайт джейсона с бекенда и только потом, может быть, увидишь результат.Хотя SPA не обязаны быть медленными, на практике почему-то SPA долго грузятся. То есть, я бы хотел увидеть сразу данные, а не смотреть на заглушку.Примеры: Сбербанк-онлайн - есть заглушка, загрузка медленная. Твиттер - есть заглушка, загрузка медленная. Ютуб - есть заглушка, загрузка медленная. В твиттере с ютубом работают разработчики мирового класса и все равно тормозит. А у обычного разработчика результат будет в 10 раз хуже.
>>2127677Да я и спрашиваю поэтому как это работает под капотом, никто не знает.В свое время, года назад, пытался во фронт, задание тестовое на работку я конечно сделал, но все равно не понял нафига оно нужно(это другой вопрос и тема, срачи вечные, достаточно осказано). Сам факт что я задавал на 3 разных форумах(двач в том числе) про зависимости, пакетирование, ведь это гумно просто так не работает.В итоге люди сами ничего не знают, просто говорят использовать установщик из коробки - он у меня в общем-то и заработал. А вебпак и лярд других завсимостей я проклинаю по сей день, но люди говорят это норма, щито поделать.Да, я понял, спасибо, обычное апи, я с такими работаю. Просто у меня проблема с бест практис, я каждый чих выдрочился спрашивать. Типа папка, там фронт, там бек. Я просто не отразил сразу что я не буду прописывать руты вручную. Короче, посмотрю.>>2127691Лярд зависимостей. Не нравится мне все это.
>>2127710>Да я и спрашиваю поэтому как это работает под капотом, никто не знает.За всех то не говори>Просто у меня проблема с бест практис, я каждый чих выдрочился спрашивать. Типа папка, там фронт, там бекТак ты должен сам на эти вопросы себе отвечать.Как работает моё приложение?Как связаны бекенд с фронтендом?Как запрос идет через бек?и т.д.>Лярд зависимостей. Не нравится мне все это.У тебя и на беке будет лярд зависимостей. Загляни в composer.json (ларавеля к примеру) на досуге. У него свои зависимости, у тех зависимостей - свои т.д.Без зависимостей мы не получим достаточно большую скорость выкатки фич на прод
>>2127720>за всехНу я говорю за всех кто мне встречался, очевидно.>сам отвечатьЯ бы рад)))) Но как только я делаю самодеятельность какую-ту, мне начинают вонять что ну тип у нас не совсем так, не сяк. Мне уже похуй что-то там думать, я просто напрямую спрашиваю - как это у вас делается.Еще я понял что если ты сделаешь как тебе виднеется лучше или как люди говорят в интернете - то потом придется переделывать, а я понял что это лютый треш и лучше до такого не доводить.>бекеТак на беке зависимости остаются на беке, юзеру только определенная инфа приходит. А фронт приложухи полноценные кидает для разверстки.
>>2127733Ценность разраба в том, что он делал 1 вариант, понял его плюсы/минусы, делал 2 вариант, там свои плюсы минусы. Из этого складывается умение разраба для задачи Х подобрать оптимальное решение Y учитывая все трейдоффы.Не бойся делать и ошибаться, так ты получишь опыт и вырастешь как спец.Только не надо участвовать в холиварах и поисках единственно верного решения - таких просто не существует. Пусть холиварщики холиварят, а нам надо фичи выкатывать.>А фронт приложухи полноценные кидает для разверстки.Оно приходит юзеру в виде единого сжатого жс файлика, который кладется в кеш.