Если так, то поддерживаю Николай , разделяйте проект на js клиент и сервер c HTTP REST API. Практиковал такой подход с django и angular, полёт нормальный. Как мне видится подход с разделением зон ответственности удобен, когда руку набьёшь пишется быстро.
Насколько я помню поиск модулей идёт рекурсивно к корню файловой системы. Попробуйте поднять каталог node_modules куда то выше по иерархии каталогов, где у вас доступны символические ссылки. Не знаю как в образе Homested, но например в ubuntu/trusty64 каталог проекта - /vagrant. Поэтому можно скопировать package.json в / и выполнить установку из /. Попробуйте.
Я действительно собирал под win7, пробовал и mingw и vs версию поведение было одинаковым. На linux не пробовал, может там и получше, но у меня в приоритете тогда был windows. Поддержка opengl была у обоих. Видеокарта GeForce 610 GT не самая быстрая но уж изменение размера окна она должна тянуть :)
Можете почитать первоисточник - epoll. Это для linux. Для других систем будут свои функции. Я на низком уровне их не использовал, сразу брал библиотеку которая их использует внутри, в нашем случае boost.
Подскажите а из за чего "убивается" производительность в express middleware? Из за возможной большой вложенности вызовов функций этих самых middleware?
Там же вроде нельзя сидеть в двух и более доменах? Если я например уже нахожусь в каком то чате то в ваш зайти не смогу и наоборот. Gitter в этом плане действительно удобнее.
Я имел ввиду не синтаксис а скорее семантику. Если сравнивать с python то Go семантически проще. Все эти метаклассы, менеджеры контекста, протокол дескрипторов и тому подобные штуки сложнее в понимании и прочтении чем структуры, методы и каналы из Go, особенно когда дело доходит до копания в чужом коде. Это лично моё мнение.
Чисто логически можно предположить что надо принудить pm2 перед запуском проекта переходить в его корневую директорию. Поройтесь в документации на этот предмет, сам с ним никогда не работал. Может какая-нибудь опция типа chdir или что то похожее.
DaneSoul иногда конечно для полноценного запуска проекта одного runserver не достаточно (например в проекте используется какая-нибудь очередь без которой ничего не работает) но зато разрабатывать с ним намного легче. Он например следит за изменениями файлов проекта и перезапускает код. Gunicorn придётся перезапускать вручную.
Копированием новой версии. У человека был вопрос как что то править в site-package не затрагивая код в этом самом site-package. Других вариантов как скопировать в другой каталог не придумалось.
Пару недель назад решал аналогичную задачу. Всё написал на aiohttp и очередях из asyncio. Полёт нормальный. На сегодняшний день это наверно самая актуальная библиотека.