Я не вижу где вы там закрываете сокет на клиенте. В том коде что вы привели - вы на каждую кнопку открываете новое соединение, оставляя старое работать. Если сервер что-то пошлет в оба сокета - получите два сообщения.
PHP я забыл лет 10 назад так что по нему ничего не скажу.
Роман, тогда поставьте его один раз локально :)
Если вам хочется именно phpMyAdmin, как любимый клиент, его будет крайне сложно запустить на ноде.
А если вы все равно будете брать какой-то другой и нелюбимый ,то см. мое предыдущее сообщение.
Vladimir Konovalenko, эта проблема инвалидации - как понять это только вы для своих данных можете решить.
например обновлять раз в месяц. или после старта приложения в фоновом режиме делать запрос и обновлять. или еще что. В кратце про инвалидацию кеша тут: https://www.martinfowler.com/bliki/TwoHardThings.html
Это не относится к способу кеширования - с любым будет то же самое.
valya1988, открывать код и разбираться, если вы можете, если не можете - то найти того кто может. По такой ошибке без копания в коде вам мало чем можно помочь.
Роман, а что такое "полноценный бэк" для вас?
express - нормальный и зрелый фреймворк для построения http - сервисов. Подходит он вам или нет - сами решайте.
Лень Романовых, Если вы так и попробовали - то по идее у вас должно все работать.
Если вам лень уточнить в вопросе, что вы уже попробовали и что не работает, то мне тем более лень копаться в вашем коде чтобы узнать это самому.
Dubrovin, это от вас зависит - если вы ничего не сделаете то конечно не будет, если настроите заголовки как надо - то будет. Браузеру все равно php там или json или еще что
wqertAnna, в больших проектах чаще всего или все UI компоненты готовые, из которых просто собирается нужное или есть верстальщики которые "дотянут" стили до красивых.
Другой вопрос что разработчик должен уметь верстать и делать это если нужно.
Ищите большие компании с налаженным процессом и большими проектами, где вам не нужно будет заново рисовать все кнопки каждый раз.
Это упрощает отладку. Не знаю почему вы называете компонент "черным ящиком" как будто вам кто-то запрещает туда посмотреть. Компонент это белый ящик тогда уж.
Если что-то пойдет не так в логике самого компонента - то вы просто берете и отлаживаете его отдельно от всего остального приложения. Хотя бы и тесты напишите.
Если что-то пойдет не так в другом месте с участием этого компонента, то за счет того что у вас стейт компонента лежит в нем самом и компонент уже протестирован и вы уверены что с ним все ок - то это уменьшает количество вещей который вам надо проверить в глобальной логике. Относительно самого компонента - вам нужно только убедиться что он правильно выполняет свой внешний контракт - в плане взаимодействия с другими частями приложения. То что у него происходит внутри, вам уже не нужно перепроверять.
И в чем именно проблема?
по клику на кнопку меняйте где-то в аппе (скорее всего можно в компоненте выше по дереву в котором и кнопка и модал лежат) в стейте флаг который определяет показывать модальное окно или нет.
В зависимости от этого флага рендерите модальное окно или не рендерите.
Вы не поняли что я предлагаю, у вас сделано совсем по другому - вы делаете script тег в HTML.
Есть разница отдавать HTML или отдавать JS. Оба могут быть сгенерированы через PHP, однако в моем варианте это будет в отдельном от всего остального js файле который прекрасно кешируется.
maksipes, вопрос на тостер - не ценится.
Если вы уже знаете ответ что идея ваша никому не нужна зачем спрашиваете? Надежда умирает последней и хочется услышать другое? :)
Если вопрос у вас о другом - о другом и спрашивайте.
Где искать ресурсы, как пилить проект без денег, как исследовать рынок, как тестировать прототип, на каких условиях привлекать людей и прочее - вот это все. Когда вы на самом деле решите что-то делать у вас правильные вопросы сами появятся.
PHP я забыл лет 10 назад так что по нему ничего не скажу.