Форум программистов, компьютерный форум, киберфорум
8Observer8
Войти
Регистрация
Восстановить пароль

Использование MySQL из Node.js и TypeScript на удалённом сервере Heroku

Запись от 8Observer8 размещена 12.08.2019 в 12:29
Показов 4253 Комментарии 0
Метки db, heroku, mysql, node.js, typescript

Содержание блога

Heroku удалил бесплатный хостинг в ноябре 2022. Есть альтернативы, например:
  • https://glitch.com/pricing - даётся 1000 часов на месяц. Файлы проектов будут открыты всем пользователям. Если к приложению не обращаются 5 минут, оно засыпает и просыпается в течение 30 секунду: "Это может привести к задержке ответа до 30 секунд для первого запроса, поступающего после периода бездействия.". Есть бесплатная база данных SQLite.
  • У хостинга Render ограничение на бесплатное использование 750 часов в месяц: https://render.com/docs/free. После 15 минут неактивности засыпает. Бесплатная база данных PostgreSQL удаляется через 90 дней. Есть возможность разместить SQLite.
  • Подборка бесплатных хостингов для баз данных



За основу взят пример с сайта Metanit, где показано подключение MySQL из Node.js: MySQL. Подключение к MySQL. Я переписал с JavaScript на TypeScript и захостил на Heroku: https://typescript-mysql-from-... kuapp.com/ Бесплатный хостинг имеет свойство засыпать, поэтому иногда нужно подождать несколько десятков секунд. Я добавил библиотеку socket.io для взаимодействия клиента с сервером через сокеты.

Я сделал кнопку "Check DB Connection", которая отправляет запрос на сервер о состоянии подключения и возвращает JSON сообщение:

JSON
1
{"message":"DB is connected"}
, означающее, что соединение с базой данных установлено. А так же есть кнопка "Show Data from DB", которая выводит содержимое базы данных:

JSON
1
{"rows":[{"id":1,"name":"Ivan"},{"id":2,"name":"Bob"}]}
Клиент и сервер я пишу на TypeScript. Моё приложение хранится в приватном репозитории на GitHub. Репозиторий я соединил с бесплатным хостингом Heroku, который разворачивает приложение при каждом push.

Это не реклама Heroku или Metanit, а мотивация для других, чтобы пробовали сразу разворачивать на реальных хостингах, потому что это реально мотивирует, когда приложение можешь показать всем желающим, дав лишь ссылку, чтобы запустить на любой ОС, где есть браузер. На сайте Heroku есть пошаговая инструкция, как им пользоваться, чтобы развернуть Node.js веб-приложение. Я считаю, Heroku - очень удобный и полезный ресурс для учебной практики.

Данный пример может быть использован для начала создания клиент-серверных веб-приложений с базой данных и для сетевых игр с мультиплеером или кооперативом, где базу данных MySQL можно использовать для регистрации и хранения игровых данных.

Если вам нужны исходники моего примера, то подумайте, действительно ли они вам нужны или вы можете написать их сами. Написать самому гораздо полезнее, чем разбираться в чужом коде.
Метки db, heroku, mysql, node.js, typescript
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru