Пау Павон
Целью этой истории является кратко объяснить, как работает маршрутизация в Express при построении простого – очень простое приложение для узла.
Мы также будем использовать EJS, шаблон-двигатель, который «позволяет генерировать HTML Markup с простой JavaScript», согласно Их сайт Отказ По сути, это позволит нам создавать HTML-страницы, которые могут варьироваться в зависимости от запроса, который делает клиент. Мы не будем использовать эту последнюю функцию, но это отличный. В конце этой статьи вы найдете некоторые ресурсы, где вы можете узнать больше.
Что такое маршрутизация? ( В 2-ish линиях)
Прежде всего, давайте сделаем быстрое (действительно быстрый) взгляд на то, что маршрутизация:
Он в основном принимает пользователь (или некоторые данные) из одного места в другое. Это место – маршрут. Я сказал тебе, что собираюсь сделать это быстрым.
Создание проекта
Мы собираемся построить модный сайт, чтобы узнать, как работает маршрутизация в Express. Проверьте это:
Круто, верно? Но это все, что нам нужно на данный момент.
Во-первых, давайте создадим проект и установите пакеты. Просто запустите следующее в командной строке:
Вы можете дополнительно добавить Dash Tash Сохранить (Я пишу – как ” dash” потому что средний автоматически форматирует его, и для этой цели не очень хорошо выглядит), чтобы сохранить его в вашем package.json файл. Но как это работает это история на другой день.
Затем нам потребуется Express и установим двигатель View для EJS в нашем app.js файл следующим образом:
var express = require('express');var app = express();app.set('view engine', 'ejs');Мы также включаем следующую строку, поэтому наше приложение слушает запросы:
app.listen(3000);
Обработка получить запросы
Поздравляем, все готово для обработки запросов! Есть несколько типов запросов на HTTP, но мы будем обращаться только к получению запросов, которые используются для извлечения данных с сервера. Чтобы обработать этот вид запроса в Express, мы используем следующий метод:
app.get('/about', function(req, res) { res.render('about');});Давайте посмотрим на то, что здесь происходит. Мы говорим нашему серверу, что, когда кто-то типирует в wewwebsite.com/ouout. Мы хотим выстрелить функцию. Эта функция принимает два параметра, req (запрос) и res. (отклик). Используя объект отклика, мы видим о странице .
Для этого на работу нам придется создать страницу с именем О.Эйс в HTML. Мы также разместим его в папке под названием Виды Внутри нашей папки проекта. Это папка, где экспресс будет смотреть, чтобы сделать вид. Здесь у вас есть мега-комплекс о странице, мы будем использовать для этого примера:
Отлично! Но, что если пользователь не вводит ни в каком маршруте? Как мы делаем большую часть времени, wewwebsite.com ? Ну, очень легко. Изменить /о просто /, и сделать любую страницу, которая вам нравится:
app.get('/', function(req, res) { res.render('home');});Обработка несуществующих маршрутов
Но что если кто-то типирует в маршруте, который не существует? Мы, вероятно, не хотим, чтобы страница ошибки по умолчанию появилась. Вместо этого мы хотим пользовательскую, классную страницу ошибки.
Ну, хорошая новость в том, что это чрезвычайно легко сделать один с Express. Просто замените параметр маршрута в метод Get со звездочкой и представьте свою собственную страницу ошибок, как так:
app.get('*', function(req, res) { res.render('error');});Пробуя это!
Наконец, давайте запустим наш сервер из командной строки (при условии, что сервер называется app.js )
И посмотрите, работает ли он! Давайте введем имя нашего сервера ( localhost , как это локальный сервер, работающий на нашем компьютере) и порта ( 3000 В этом случае) в нашем браузере:
Удивительный!
дальнейшее чтение
Вы можете узнать все, что вам нужно знать о маршрутизации в Экспресс Руководство и есть много удобных вещей в Веб-сайт EJS также!
Я надеюсь, что эта статья была полезна для вас. Если это было, пожалуйста, оставьте комментарий и хлопните!
Счастливое кодирование … Или счастливая маршрутизация, я думаю!
Оригинал: “https://www.freecodecamp.org/news/really-really-basic-routing-in-nodejs-with-express-d7cad5e3f5d5/”