В сегодняшней статье я покажу вам, как вы можете настроить простой сервер node js и разместить его в сети с помощью Heroku, а далее (в следующих статьях) мы можем изучить REST для обслуживания наших простых данных.
Я бы развернул сервер Typescript, а не ванильный javascript, чтобы мы могли использовать все вкусные возможности современных js, а для тех, кто не знает, что такое Typescripts, короче его javascript с типами (вы можете принять как типы данных / возврат types), что делает его безопасным и обеспечивает статический анализ кода, улучшая качество вашего кода, а дополнительным бонусом является то, что он очень похож на Java, поэтому он чувствует себя как дома.
Мотив.
- Простой сервер node-js.
- С поддержкой машинописного текста.
- Развернут на Heroku.
Прежде чем мы запачкаем руки, давайте узнаем предварительное условие.
- скачайте и установите Nodejs: https://nodejs.org/en/
- Вам нужна учетная запись на Heroku: https://signup.heroku.com/
- Установите Git в вашей системе: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
- Веб-браузер: Chrome (или любой другой)
- IDE - я использую Visual Studio Code (VS-code).
P.S Я использую дистрибутив ubuntu под названием Elementary OS.
Шаг 1. Создание корневого каталога проекта
откройте свой терминал, перейдите в любой каталог, затем mkdir demo-heroku-node-ts
Шаг 2. Инициализируйте свой каталог как проект узла.
откройте корневой каталог, cd demo-heroku-node-ts
затем, npm init
он задаст вам несколько основных вопросов, таких как название вашего проекта, точка входа и другие вопросы. вы можете ввести что угодно, потому что мы можем посетить его в любое время из package.json.
Шаг 3. Установите необходимую зависимость с помощью NPM.
npm i @types/express @types/node express nodemon ts-node typescript
Таким образом, эти команды устанавливают наиболее распространенные пакеты npm, используемые для разработки,
- Express используется для упрощения REST API, а также настройка сервера - очень приятное занятие для разработчиков по сравнению с обычными методами Nodejs.
- Nodemon поддерживает работу сервера и меняет местами последний код, поэтому вам не нужно перезапускать сервер каждый раз, когда вы обновляете новый код, это только для зависимости от разработки на данный момент я сосредоточен на его развертывании позже, мы можем оптимизировать для другие вещи.
- ts-node напрямую запускает файл узла .ts.
- машинописный текст для поддержки типов скриптов в javascript.
Все с @types - это типы машинописного текста для поддержки возвращаемого типа этой библиотеки.
Шаг 4. Настройка машинописного текста
В терминале запустите команду в корневом каталоге, tsc --init
будет создан новый файл с именем tsconfg.json, вы можете напрямую заменить его моим, комментариев будет достаточно, чтобы объяснить их использование.
Поздравляю ... ваш тип-скрипт теперь готов к использованию на сервере nodejs! давайте сделаем наш серверный код.
Шаг 5. Настройка сервера
теперь откройте ваш package.json и сделайте объект скрипта похожим на приведенный ниже фрагмент.
отсюда вы могли догадаться, что наш серверный скрипт будет находиться в src / config / server.ts.
поэтому создайте структуру каталогов, аналогичную этой, в терминале или с помощью VS-кода, создайте каталоги, mkdir -p src/config/
создайте файл с именем server.ts, используя vs-код или терминал, touch server.ts // creates file
затем code server.ts // open in vs-code
, сделайте его похожим на приведенный ниже:
Вы можете протестировать сервер, разместив его на локальном хостинге, используя следующую команду в терминалеnpm run dev
, затем в Chrome откройте http: // localhost: 5000 /, если вы видите сообщение, значит, ваш сервер настроен правильно.
Шаг 6. Развертывание на Heroku.
Настройка точки доступа к серверу Heroku (можно сказать SSH)
мини-шаг 1. Установите Heroku CLI
в терминале runsudo snap install --classic heroku,
, если у вас возникнут проблемы с его установкой, обратитесь к https://devcenter.heroku.com/articles/heroku-cli, чтобы узнать о других способах его установки. проверьте, успешно ли установлен Heroku, используя commandheroku --version // should retrun version
мини-шаг 2. войдите в Heroku
с помощью команды в терминалеheroku login
откроется вкладка в браузере, которая запрашивает учетные данные для входа, после чего вы можете закрыть вкладку, и вы войдете в Heroku CLI.
мини-шаг 3. Создайте приложение heroku
команда execute heroku create
создаст новое динамическое приложение (приложение) на активном и запущенном сервере Heroku. его вывод даст вам ссылку на созданный URL-адрес, также вы можете открыть его из терминала, удерживая клавишу Control, щелкнув ссылку или скопировав и вставив ее в браузер.
пример: Creating app... done, ⬢ sleepy-meadow-81798 https://sleepy-meadow-81798.herokuapp.com/ | https://git.heroku.com/sleepy-meadow-81798.git
из этого примера выходных данных URL-адрес размещенного сервера --https://sleepy-meadow-81798.herokuapp.com/
мини-шаг 4. Создайте Procfile для Heroku
на корневом уровне создайте файл с именем profile без какого-либо расширения внутри него, добавьте строкуweb:ts-node/src/config/server.ts
и сохраните файл.
мини-шаг 5. инициализация вашего проекта в репозиторий git
из корневого уровня приложения выполните эту команду, в терминале выполните команды:
мини-шаг 6. Отправка кода в Heroku
теперь у вас есть два способа отправить код на сервер Heroku: вы можете добавить источник в репозиторий git, используя ссылку git из вывода терминала команды Heroku create, и вы, естественно, можете отправить код с помощью git.git push heroku master
после успешного нажатия ваш сервер будет жить со своим кодом.
мы не углублялись в TypeScript Nodejs и все другие вещи, связанные с кодированием REST, в этом руководстве мы просто имеем дело с настройкой хостинга, в следующей статье мы сосредоточимся больше на коде!
А до тех пор счастливого взлома!
P.s. загляните к моему блогеру, может быть, вы откроете для себя что-то новое!