node js что такое express

Веб-фреймворк Express (Node.js/JavaScript)

Express представляет собой популярный веб-фреймворк, написанный на JavaScript и работающий внутри среды исполнения node.js. Этот модуль освещает некоторые ключевые преимущества этого фреймворка, установку среды разработки и выполнение основных задач веб-разработки и развёртывания.

Предварительные требования

Перед началом этого модуля вам необходимо представлять, что из себя представляет серверное программирование и веб-фреймворки, желательно из прочтения статей другого модуля Server-side website programming first steps. Знакомство с основными концепциями программирования и языком программирования JavaScript будет очень полезным, но оно не является обязательным для понимания базовых понятий этого модуля.

Примечание: Этот веб-сайт содержит множество источников для изучения JavaScript в контексте разработки на стороне клиента: JavaScript, JavaScript Guide, JavaScript Basics, JavaScript (изучение). Ключевые особенности и концепции языка JavaScript остаются сходными и для серверной разработки на Node.js и используемый материал достаточно релевантен. Node.js предоставляет additional APIs для обеспечения функциональности, которая полезна для «безбраузерной» разработки, т.е. для создания HTTP-сервера и доступа к файловой системе, но не поддерживает JavaScript APIs для работы с браузером и DOM.

Это руководство обеспечит вас некоторой информацией о работе с Node.js и Express, но также существуют и другие многочисленные отличные ресурсы в Интернете и книгах — некоторые из них доступны из тем How do I get started with Node.js (StackOverflow) и What are the best resources for learning Node.js? (Quora).

Руководства

Смотрите также

Изучите другие учебники

Это все статьи учебника (на данный момент). Если вы хотите продолжить обучение, есть другие интересные темы:

И, конечно, было бы неплохо создать какой-либо проверочный тест знаний!

Источник

Различия между Express.js и Node.js

Вам интересна разница между Express.js и Node.js? Вы хотите более детально разобраться в них и понять, что вы можете (и что не можете) на них делать? Тогда вы попали в нужное место.

Мы собираемся более детально остановиться на Node.js, на причинах его популярности, а также его связи с Express.js. Очень много идет разговоров и сплетен о Node.js и Express.js, мы считаем, что пришло время прояснить эти два понятия.

Чтобы помочь вам понять разницу между Express.js и Node.js начнем с определения этих двух понятий. После того, как мы рассмотрим, что они из себя представляют и для чего они используются, мы покажем различия и возможности, которые возникают при использовании каждого из них. Давайте начнем!

Что такое Node.js?

Node.js определяется как “платформа, созданная в среде выполнения JavaScript в Chromeдля легкого создания быстрых масштабируемых сетевых приложений.” Проще говоря, Node.js это мультиплатформенная среда с открытым исходным кодом, которая позволяет создавать серверные приложения и инструменты с помощью JavaScript.

Node.js фактически вывел JavaScript на новый уровень. В то время как JavaScriptиспользуется в качестве языка разработки на стороне клиента, Node.js охватывает разработку на стороне сервера. Благодаря Node.js, JavaScript стал универсальным языком для фулстек (full-stack) разработки.

Фронтенд, созданный на JS, и бэкенд, созданный на Node.js, легче синхронизировать из-за одного языка, используемого с обеих сторон приложения. Node.js позволяет писать ваши программы на JavaScript и выполнять их на сервере.

Node.js стал одним из самых популярных инструментов в бэкенд-разработке. Крупные компании, такие как eBay, Netflix и Uber, использование Node.js в своих сервисах.

Джефф Харрелл, технический директор PayPal, высказался о Node.js. Он сказал: «Node.jsдает возможность нашим WEB-приложениям и позволяет нашим командам гораздо быстрее воплощать свои проекты в жизнь.»

Одна из причин, почему Node.js стал настолько популярен это то, что фроненд-разработчики могут освоить его довольно быстро, так как Node наследует многие функции от JavaScript.

С точки зрения разработчика, Node.js сделал возможным совместное использование и повторное использование кода. С помощью модулей Node разработчики могут использовать готовые модули или перепрофилировать свои собственные.

Node — это часть популярных стеков технологий MEAN и MERN, ориентированных на JavaScript, которые охватывают весь конвейер веб-разработки. Существует множество фреймворков, построенных для Node (таких как Meteor, Sails и т. д.) и Express.js это один из них.

Характеристики Node.js

Что такое Express.js?

Express.js это минимальный и гибкий фреймворк для WEB-приложений с открытым исходным кодом Node.js. Вы можете использовать его поверх Node.js чтобы обеспечить лучшую WEB-функциональность. Express самый популярный WEB-фреймворк Node.js.

Он предоставляет большой набор функций для создания WEB-приложений (одностраничных, многостраничных и гибридных). С помощью Express можно структурировать WEB-приложение, которое может обрабатывать несколько HTTP-запросов по определенному URL-адресу.

Гибкость проявляется в многочисленных компонентах, доступных в менеджере пакетов. Эти компоненты автоматически переходят в Express.js.

Причина, по которой Express является самым популярным WEB-фреймворком, заключается в том, что он облегчает разработку WEB-приложений, WEB-сайтов и API. Он также предлагает базовую коллекцию топографий.

С Express.js, вы сможете улучшить различные аспекты WEB-приложения. Вы можете определить такие параметры, как расположение шаблонов, которые будут использоваться для ответа, или порт, который будет использоваться для установления соединения.

Основные характеристики Express.js

Фреймворк с открытым исходным кодомСосредоточен на высокой производительностиСверхвысокий охват тестированияПоддержка нескольких шаблонов (что упрощает генерацию HTML)Позволяет создавать ответы на определенные URL-адресаПростой механизм, который быстро обнаруживает ошибки в приложениях

Ключевая Разница Между Express.js и Node.js

Мы уже предоставили много информации, которая проясняет эти два понятия, но давайте остановимся на конкретных различиях? Пришло время провести четкую грань между Express.js и Node.js, что поможет вашему пониманию обеих технологий.

Классификация

Компоненты

Характеристики

Применение

Зависимость

Время

View model

Язык программирования

Контроллеры

Маршрутизация

Связующее ПО

Заключительные Мысли

И Node.js, и Express.js имеют неоспоримые преимущества. Их различия тоже бесспорны, но общая черта заключается в их эффективности и популярности среди разработчиков.

Node.js это любимая многими разработчиками среда на базе JavaScript, которая вряд ли вас разочарует. Но если вы хотите сделать свою работу проще (и быстрее), вам следует подумать о Express.js.

Подумайте об этих двух технологиях следующим образом. Представьте себе, что Node.js это игрушечный мотор, но, чтобы получить функциональную игрушку, вы должны собрать воедино все остальные части. С другой стороны, Express.js предоставляет вам уже готовую игрушку, которую вы можете использовать немедленно.

Express.js это будущее. Он был создан не просто так. Причина заключается в совершенствовании и модернизации платформы Node.js.

Если вы хотите двигаться вперед или хотите бросить вызов самому себе, начните с овладения Node.js, это полностью зависит от вас. В любом случае, мы надеемся, что наше объяснение разницы между Node.js и Express.js помогло вам в вашем выборе.

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

Что такое Node.JS?

Node.js определяется как “платформа, созданная в среде выполнения JavaScript в Chromeдля легкого создания быстрых масштабируемых сетевых приложений.” Проще говоря, Node.js это мультиплатформенная среда с открытым исходным кодом, которая позволяет создавать серверные приложения и инструменты с помощью JavaScript.

Что такое Express.JS?

Express.js это минимальный и гибкий фреймворк для WEB-приложений с открытым исходным кодом Node.js. Вы можете использовать его поверх Node.js чтобы обеспечить лучшую WEB-функциональность. Express самый популярный WEB-фреймворк Node.js.

В чем разница между Node.JS и Express.JS?

– Классификация
– Компоненты
– Характеристики
– Применение
– Зависимость
– Время
– View model
– Язык программирования
– Контроллеры
– Маршрутизация
– Связующее ПО

Источник

Node.js — Фреймворк Express

Дата публикации: 2017-12-27

node js что такое express. Смотреть фото node js что такое express. Смотреть картинку node js что такое express. Картинка про node js что такое express. Фото node js что такое express

От автора: Node js Express — это минималистичный и гибкий фреймворк веб-приложений Node.js, который предоставляет набор функций для разработки веб- и мобильных приложений. Он существенно упрощает разработку веб-приложений на базе Node. Ниже приведены некоторые из основных функций фреймворка Express.

Позволяет настроить посредников для ответа на запросы HTTP.

Определяет таблицу маршрутизации, которая используется для выполнения различных действий на основе метода HTTP и URL-адреса.

Позволяет динамически создавать HTML-страницы на основе передачи аргументов шаблонам.

Установка Express

Во-первых, глобально установите фреймворк Express с помощью NPM, чтобы его можно было использовать для разработки веб-приложений через терминал Node.

node js что такое express. Смотреть фото node js что такое express. Смотреть картинку node js что такое express. Картинка про node js что такое express. Фото node js что такое express

Бесплатный курс «NodeJS. Быстрый старт»

Изучите курс и узнайте, как создать веб-приложение с нуля на JavaScript с NodeJS

Приведенная выше команда устанавливает фреймворк локально в каталоге node_modules и создает внутри каталога node_modules каталог express. Вместе с express необходимо установить следующие основные модули:

body-parser — это middleware node.js для обработки кодированных данных JSON, Raw, Text и URL.

cookie-parser — обрабатывает заголовоки Cookie и передает в req.cookies объект с именами cookie.

multer — это middleware node.js для обработки multipart/form-data.

Пример приложения Hello world

Ниже приведено очень простое приложение Express, которое запускает сервер и прослушивает порт 8081. Это приложение выдает ответ Hello World! на запросы к главной странице. На запросы ко всем остальным путям предоставляется ответ 404 Not Found.

Сохраните приведенный выше код в файле с именем server.js и запустите его с помощью следующей команды.

В результате вы должны получить следующее:

Перейдите по адресу //127.0.0.1:8081/ в любом браузере.

node js что такое express. Смотреть фото node js что такое express. Смотреть картинку node js что такое express. Картинка про node js что такое express. Фото node js что такое express

Ответ на запрос

Приложение Express использует функцию обратного вызова, параметрами которой являются объекты request и response.

Объект Request − Объект request представляет HTTP-запрос и содержит свойства для строки запроса, параметров, тела, заголовков HTTP и т. д.

Объект Response – Объект response представляет HTTP-ответ, отправляемый приложением Express, после получения HTTP-запроса.

Вы можете вывести объекты req и res, которые предоставляют различную информацию, связанную с HTTP запросом и ответом, включая файлы cookie, сессии, URL-адреса и т. д.

Базовая маршрутизация

Мы рассмотрели простейшее приложение, которое обслуживает HTTP-запрос к главной странице. Маршрутизация обрабатывает то, как приложение будет обрабатывать запрос клиентов к конкретной точке, которая представляет собой URI (или путь) и конкретный метод HTTP-запроса (GET, POST и т. д.). Мы расширим нашу программу Hello World, чтобы она обрабатывала больше типов HTTP-запросов.

Источник

Express/Node introduction

В этой первой статье по Express мы ответим на вопросы «Что такое Node?» и «Что такое Express?», и сделаем обзор того, что делает веб-фреймворк Express таким особенным. Мы расскажем об основных функциях и покажем вам некоторые из основных строительных блоков приложения Express (хотя на данный момент у вас ещё нет среды разработки, в которой можно её протестировать).

Предварительные знания:Базовая компьютерная грамотность. Общее понимание серверного программирования веб-сайтов и, в частности, механики клиент-серверного взаимодействия на веб-сайтах.
Цель:Ознакомить вас с фреймворком Express и как он вписывается в среду Node, какие функции он предоставляет, и основные строительные блоки приложения Express.

Что такое Express и Node?

С точки зрения веб-серверной разработки Node имеет ряд преимуществ:

Вы можете использовать Node.js для создания простого веб сервера используя пакет Node HTTP.

Hello Node.js

Следующий пример создаёт веб сервер который обрабатывает любой HTTP запрос на URL http://127.0.0.1:8000/ — когда запрос будет получен, скрипт ответит строкой «Hello World». Если вы уже установили node, можете, следуя шагам инструкции попробовать пример:

В итоге, перейдите по ссылке http://localhost:8000 в вашем браузере; вы должны увидеть текст «Hello World» в верху слева на чистой странице.

Веб фреймворк

Введение в Express

Примечание: Гибкость это палка о двух концах. Существуют пакеты промежуточного программного обеспечения (middleware) для решения практически любых проблем или для удовлетворения любых ваших требований, но правильный выбор подходящих пакетов иногда может быть проблемой. Также нет «правильного пути» для структурирования приложения, и многие примеры, которые вы можете найти в Интернете, не являются оптимальными или лишь показывают небольшую часть того, что вам нужно сделать для разработки веб-приложения.

Откуда это все взялось?

Express первоначально был выпущен в ноябре 2010 и текущая версия API 4.17.1 вы можете отследить изменения и текущий релиз, и GitHub для более детальной информации о релизах.

Насколько популярен Node/Express?

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

Не существует какого-либо доступного и точного измерения популярности серверных фреймворков (хотя сайты, такие как Hot Frameworks, пытаются оценить популярность, используя такие механизмы, как подсчёт количества проектов на GitHub и вопросов на StackOverflow для каждой платформы). Лучший вопрос заключается в том, достаточно ли популярны Node и Express, чтобы избежать проблем с непопулярными платформами. Они продолжают развиваться? Можете ли вы получить помощь, если вам это нужно? Есть ли у вас возможность получить оплачиваемую работу, если вы изучаете Express?

Является ли Express ограничивающим?

Web-фреймворки часто принято делить на «ограничивающие» и «не ограничивающие».

Ограничивающими фреймворки считаются фреймворки, которые следуют «должным» ограничениям при выполнении отдельных задач. Довольно часто они ориентированы на ускоренную разработку в конкретной области (решение задач определённого типа), поскольку должный подход к произвольно выбранной задаче бывает не прост для понимания и плохо документирован. При этом они лишаются гибкости при решении задач выходящих за сферу их обычного применения, а так же проявляют тенденцию к ограничению выбора компонентов и подходов своего применения.

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

Express не ограничивающий. Вы можете вставить в цепочку обработки (middleware) запросов практически любое совместимые промежуточные компоненты, которые вам нравятся. Вы можете структурировать приложение в одном файле или в нескольких, использую любую структуру каталогов. Иногда вы можете чувствовать, что у вас слишком много вариантов!

Как выглядит код Express?

В следующих разделах объясняются некоторые общие моменты, которые вы увидите при работе с кодом Express and Node.

Helloworld Express

Сначала давайте рассмотрим стандартный пример Express Hello World (мы обсудим каждую часть этого ниже и в следующих разделах).

Средняя часть кода (три строки, начинающиеся с app.get) показывает определение маршрута. Метод app.get () указывает колбэк-функцию, которая будет вызываться всякий раз, когда есть HTTP-запрос GET с путём (‘/’) относительно корня сайта. Колбэк-функция принимает запрос и объект ответа в качестве аргументов и просто вызывает send () для ответа, чтобы вернуть строку «Hello World!»

Последний блок запускает сервер через порт «3000» и печатает комментарий журнала в консоль. Когда сервер работает, вы можете перейти к localhost: 3000 в вашем браузере, чтобы увидеть возвращённый пример ответа.

Импорт и создание модулей

Приведённый ниже код показывает, как мы импортируем модуль по имени, используя в качестве примера платформу Express. Сначала мы вызываем функцию require (), определяя имя модуля в виде строки («express») и вызывая возвращённый объект для создания приложения Express. Затем мы можем получить доступ к свойствам и функциям объекта приложения.

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

Чтобы сделать объекты доступными вне модуля, вам просто нужно назначить их объекту экспорта. Например, модуль square.js ниже представляет собой файл, который экспортирует методы area () и perimeter ():

Мы можем импортировать этот модуль, используя require (), а затем вызвать экспортированные методы, как показано:

Примечание. Вы также можете указать абсолютный путь к модулю (или имя, как мы делали изначально).

Если вы хотите экспортировать полный объект в одном назначении, а не создавать его по одному свойству за раз, назначьте его для module.exports, как показано ниже (вы также можете сделать это, чтобы сделать корень объекта экспорта конструктором или другой функцией) :

Для получения дополнительной информации о модулях см. Modules (Node API docs).

Использование асинхронных API

Совет: Использование колбэков может быть довольно «грязным», если у вас есть последовательность зависимых асинхронных операций, которые должны выполняться по порядку, потому что это приводит к нескольким уровням вложенных колбэков. Эта проблема широко известна как «ад колбэков». Эту проблему можно решить с помощью хороших методов кодирования (см. Http://callbackhell.com/), использования такого модуля, как async, или даже перехода к функциям ES6, таким как Promises.

Создание обработчиков маршрута

В нашем примере Hello World Express (см. Выше) мы определили функцию обработчика маршрута (колбэка) для HTTP-запросов GET к корню сайта (‘/’).

Колбэк-функция принимает запрос и объект ответа в качестве аргументов. В этом случае метод просто вызывает send () в ответе, чтобы вернуть строку «Hello World!» Существует ряд других методов ответа для завершения цикла запрос / ответ, например, вы можете вызвать res.json () для отправки ответа JSON или res.sendFile () для отправки файла.

Совет по JavaScript: вы можете использовать любые имена аргументов, которые вам нравятся, в колбэк-функциях; при вызове колбэка первый аргумент всегда будет запросом, а второй всегда будет ответом. Имеет смысл назвать их так, чтобы вы могли идентифицировать объект, с которым работаете, в теле колбэка.

Объект приложения Express также предоставляет методы для определения обработчиков маршрутов для всех других HTTP-глаголов, которые в основном используются одинаково: post (), put (), delete (), options (), trace (), copy ( ), lock (), mkcol (), move (), purge (), propfind (), proppatch (), unlock (), report (), mkactivity (), checkout (), merge ( ), m-search (), notify (), subscribe (), unsubscribe (), patch (), search () и connect ().

Существует специальный метод маршрутизации app.all (), который будет вызываться в ответ на любой метод HTTP. Это используется для загрузки функций промежуточного программного обеспечения по определённому пути для всех методов запроса. В следующем примере (из документации Express) показан обработчик, который будет выполняться для запросов к / secret независимо от используемого глагола HTTP (при условии, что он поддерживается модулем http).

Маршруты позволяют сопоставлять определённые шаблоны символов в URL-адресе, извлекать некоторые значения из URL-адреса и передавать их в качестве параметров обработчику маршрута (в качестве атрибутов объекта запроса, передаваемого в качестве параметра).

Часто полезно группировать обработчики маршрутов для определённой части сайта и получать к ним доступ с помощью общего префикса маршрута (например, сайт с вики может иметь все связанные с вики маршруты в одном файле и иметь к ним доступ с префиксом маршрута из / вики /). В Express это достигается с помощью объекта express.Router. Например, мы можем создать наш вики-маршрут в модуле с именем wiki.js, а затем экспортировать объект Router, как показано ниже:

Примечание. Добавление маршрутов к объекту Router аналогично добавлению маршрутов к объекту приложения (как показано ранее).

Чтобы использовать маршрутизатор в нашем главном файле приложения, нам потребуется () модуль route (wiki.js), а затем вызовите use () в приложении Express, чтобы добавить маршрутизатор в путь обработки промежуточного программного обеспечения. Эти два маршрута будут доступны из / wiki / и / wiki / about /.

Использование промежуточного программного обеспечения

Примечание. Промежуточное программное обеспечение может выполнять любую операцию, выполнять любой код, вносить изменения в объект запроса и ответа, а также может завершать цикл запрос-ответ. Если он не завершает цикл, он должен вызвать next (), чтобы передать управление следующей функции промежуточного программного обеспечения (или запрос останется зависшим).

Большинство приложений используют стороннее промежуточное программное обеспечение для упрощения общих задач веб-разработки, таких как работа с файлами cookie, сессиями, аутентификацией пользователя, доступом к данным запросов POST и JSON, ведение журнала и т. д. Список пакетов промежуточного программного обеспечения, поддерживаемых командой Express, можно найти. (который также включает в себя другие популярные сторонние пакеты). Другие экспресс-пакеты доступны в диспетчере пакетов NPM.

Для использования стороннего промежуточного программного обеспечения сначала необходимо установить его в своё приложение с помощью NPM. Например, чтобы установить промежуточное программное обеспечение средства регистрации HTTP-запросов morgan, вы должны сделать следующее:

Затем вы можете вызвать use () для объекта приложения Express, чтобы добавить промежуточное программное обеспечение в стек:

Примечание. Промежуточное программное обеспечение и функции маршрутизации вызываются в том порядке, в котором они были объявлены. Для некоторого промежуточного программного обеспечения важен порядок (например, если промежуточное программное обеспечение сеанса зависит от промежуточного программного обеспечения cookie, то сначала должен быть добавлен обработчик cookie). Почти всегда случается так, что промежуточное ПО вызывается перед настройкой маршрутов, иначе ваши обработчики маршрутов не будут иметь доступа к функциям, добавленным вашим промежуточным ПО.

Вы можете написать свои собственные функции промежуточного программного обеспечения, и вам, вероятно, придётся это сделать (хотя бы для создания кода обработки ошибок). Единственное различие между функцией промежуточного программного обеспечения и обратным вызовом обработчика маршрута состоит в том, что функции промежуточного программного обеспечения имеют третий аргумент, следующий: какие функции промежуточного программного обеспечения должны вызываться, если они не завершают цикл запроса (когда вызывается функция промежуточного программного обеспечения, она содержит следующую функцию). это надо называть).

В приведённом ниже примере показано, как можно добавить функцию промежуточного программного обеспечения, используя оба метода, а также с / без маршрута.

Совет по JavaScript: выше мы объявляем функцию промежуточного программного обеспечения отдельно, а затем устанавливаем её в качестве колбэка. В нашей предыдущей функции обработчика маршрута мы объявили колбэк-функцию, когда она использовалась. В JavaScript любой подход является допустимым.

Документация по Express содержит намного больше отличной информации по использованию и написанию промежуточного программного обеспечения Express.

Обслуживание статических файлов

Любые файлы в публичном каталоге обслуживаются путём добавления их имени файла (относительно базового «публичного» каталога) к базовому URL. Так, например:

Вы можете вызывать static () несколько раз для обслуживания нескольких каталогов. Если файл не может быть найден одной функцией промежуточного программного обеспечения, он будет просто передан последующему промежуточному программному обеспечению (порядок вызова промежуточного программного обеспечения основан на вашем порядке объявления).

Вы также можете создать виртуальный префикс для ваших статических URL-адресов, вместо добавления файлов к базовому URL-адресу. Например, здесь мы указываем путь монтирования, чтобы файлы загружались с префиксом «/ media»:

Теперь вы можете загружать файлы, находящиеся в публичном каталоге, из префикса / media path.

Для получения дополнительной информации см. Serving static files in Express.

Обработка ошибок

Ошибки обрабатываются одной или несколькими специальными функциями промежуточного программного обеспечения, которые имеют четыре аргумента вместо обычных трёх: (err, req, res, next). Например:

Они могут возвращать любой требуемый контент, но должны вызываться после всех других app.use () и маршрутизировать вызовы, чтобы они были последним промежуточным ПО в процессе обработки запросов!

Express поставляется со встроенным обработчиком ошибок, который заботится обо всех оставшихся ошибках, которые могут возникнуть в приложении. Эта промежуточная функция обработки ошибок по умолчанию добавляется в конец стека функций промежуточного программного обеспечения. Если вы передаёте ошибку в next () и не обрабатываете её в обработчике ошибок, она будет обработана встроенным обработчиком ошибок; ошибка будет записана клиенту с трассировкой стека.

Примечание. Трассировка стека не включена в производственную среду. Чтобы запустить его в производственном режиме, необходимо установить переменную среды NODE_ENV в «производство».

Примечание. HTTP404 и другие коды состояния «ошибка» не считаются ошибками. Если вы хотите справиться с этим, вы можете добавить функцию промежуточного программного обеспечения для этого. Для получения дополнительной информации см. FAQ.

Для получения дополнительной информации см. Error handling (Express docs).

Использование баз данных

Приложения Express могут использовать любой механизм базы данных, поддерживаемый Node (сам по себе Express не определяет каких-либо дополнительных действий / требований для управления базой данных). Есть много вариантов, включая PostgreSQL, MySQL, Redis, SQLite, MongoDB и т. Д.

Чтобы использовать их, вы должны сначала установить драйвер базы данных, используя NPM. Например, чтобы установить драйвер для популярной NoSQL MongoDB, вы должны использовать команду:

Сама база данных может быть установлена локально или на облачном сервере. В вашем экспресс-коде вам требуется драйвер, подключиться к базе данных, а затем выполнить операции создания, чтения, обновления и удаления (CRUD). Пример ниже (из документации Express) показывает, как вы можете найти записи «млекопитающих», используя MongoDB.

Другим популярным подходом является косвенный доступ к вашей базе данных с помощью Object Relational Mapper («ORM»). При таком подходе вы определяете свои данные как «объекты» или «модели», и ORM отображает их в базовый формат базы данных. Этот подход имеет то преимущество, что как разработчик вы можете продолжать думать с точки зрения объектов JavaScript, а не семантики базы данных, и что есть очевидное место для выполнения проверки и проверки входящих данных. Подробнее о базах данных мы поговорим в следующей статье.

Для получения дополнительной информации см. Database integration (Express docs).

Рендеринг данных (просмотров)

Механизмы шаблонов (в Express называемые «механизмами просмотра») позволяют указывать структуру выходного документа в шаблоне, используя заполнители для данных, которые будут заполняться при создании страницы. Шаблоны часто используются для создания HTML, но могут также создавать другие типы документов. В Express есть поддержка ряда шаблонных движков, и здесь есть полезное сравнение более популярных движков: Сравнение шаблонизаторов JavaScript: Jade, Mustache, Dust и More.

Внешний вид шаблона будет зависеть от того, какой движок вы используете. Предполагая, что у вас есть файл шаблона с именем «index. », который содержит заполнители для переменных данных с именами «title» и «message», вы должны вызвать Response.render () в функции обработчика маршрута для создания и отправки ответа HTML. :

Для получения дополнительной информации см. Using template engines with Express (Express docs).

Файловая структура

Express не делает никаких предположений относительно структуры или компонентов, которые вы используете. Маршруты, представления, статические файлы и другая логика конкретного приложения могут находиться в любом количестве файлов с любой структурой каталогов. Хотя вполне возможно иметь все приложения Express в одном файле, обычно имеет смысл разделить ваше приложение на файлы на основе функций (например, управление учётными записями, блоги, доски обсуждений) и проблемной области архитектуры (например, модель, представление или контроллер, если вы случайно используете MVC architecture).

В более поздней теме мы будем использовать Express Application Generator, который создаёт модульный каркас приложения, который мы можем легко расширить для создания веб-приложений.

Резюме

Поздравляем, вы завершили первый шаг в своём путешествии Express / Node! Теперь вы должны понимать основные преимущества Express и Node, а также примерно то, как могут выглядеть основные части приложения Express (маршруты, промежуточное ПО, обработка ошибок и код шаблона). Вы также должны понимать, что с Express, который является непонятным фреймворком, то, как вы собираете эти части вместе, и библиотеки, которые вы используете, в значительной степени зависит от вас!

Источник

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

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