Серверная часть в NodeT | Кодементор

Напишите бэкенд машинописного текста для NodeJs

В этой статье я поделюсь своим опытом разработки веб-бэкэнда на Typescript. Я поделюсь тем, как я полностью разработал проект на Node+Typescript (NodeTs) и еще один проект по использованию машинописного текста в существующих приложениях NodeJs.

Для этой статьи необходимы предварительные знания NodeJs, Typescript и некоторое представление об Express. Я использую MacOS, поэтому команды должны работать и в системах Linux. Предполагается, что на вашем компьютере уже установлены npm и node.

Почему Typescript для бэкенда?

Давайте сначала приведем аргументы в пользу использования машинописного текста вместо ванильного javascript для написания бэкэндов. Typescript привносит больше синтаксических сахаров, проверку типов в наш код, а IDE могут лучше выполнять автоматические подсказки. Я почти уверен, что большинство разработчиков узлов, возможно, видели ошибку из-за орфографических ошибок в именах переменных в Javascript.

Использование машинописного текста позволило нам более легко использовать принципы ООП. В то же время мы смогли обнаружить множество проблем с кодом во время компиляции.

Начало работы с Hello World

Мы создадим папку с именем nodets для хранения нашего кода в каталоге по вашему выбору. Внутри папки создайте пакет.json а также main.ts файлы.

Открой пакет.json в вашем любимом редакторе и введите следующие строки:

пакет.json теперь содержит машинописный текст и пакет ts-node, необходимые для компиляции и сборки кода. Наряду с этими зависимостями мы добавим типы узлов, чтобы typescript понимал типы кода модуля узла.

Далее введите код ниже в поле main.ts файл.

Для нашего примера hello world мы создаем класс Main с функцией hello(). Затем мы создаем экземпляр этого класса и вызываем метод hello.

Выполните следующую команду, чтобы установить пакеты и выполнить скрипт.

Тебе следует увидеть Hello World на вашем экране.

Так вот оно. Все, что вам нужно, чтобы начать. Мы регистрируем ts-node, чтобы узел понимал, что он имеет дело с typescript. Выполнение займет некоторое время, так как узлу придется проверять наличие проблем с типом и т. д. перед выполнением кода.

Использование кода с GitHub

Код, использованный в этой статье, можно найти здесь. Я пометил различные шаги кода. Код раздела выше помечен как v1. Вы можете использовать следующие команды, чтобы проверить это.

$ git клон git@github.com:udaykale/nodets-blog.git
Теги проверки $ git/v1

Однако рекомендуется сначала сделать это самостоятельно, если вы не застряли надолго.

Добавление экспресса в микс

Большая часть веб-разработки для узла выполняется с использованием экспресс-фреймворка. Итак, на этом этапе мы настроим экспресс-сервер в typescript.

Сначала мы добавим экспресс и его типы в package.json.

Примечание: Изменения по сравнению с предыдущим разделом отмечены цветом на полях.

Помимо экспресс-изменений, мы также добавили стартовый скрипт, чтобы мы могли запускать основной файл, используя

$ npm запустить запуск

Как видите, код похож на тот, что вы написали бы в javascript, но с дополнительными преимуществами лучшего синтаксиса и проверки типов. После запуска кода вы можете проверить, работает ли он, открыв в браузере, чтобы увидеть сообщение Hello world.

Этот раздел помечен v2 в репозитории git.

Typescript с существующим проектом Javascript

Скорее всего, вы разработчик, который уже работает над проектом Javascript. Вы решили изучить машинописный текст, он вам понравился и вы хотите использовать его в своих проектах. На этом шаге я объясню, как вы можете объединить Typescript с существующим кодом Javascript.

Мы напишем некоторый код javascript и вызовем его из typescript.
Создайте новый файл с именем внутриjs.js рядом main.js. Добавьте в него следующую функцию.

Далее мы импортируем код javascript в main.ts. Тогда мы напишем /внутри-js маршрут, вызывающий метод javascript.

Вызов /внутри-js должен вернуть «Внутри JS» сообщение.

Этот раздел помечен v3 в репозитории git.


Удачного кодирования!! 😃

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *