Nodejs. Навігація по сторінках.
Відео: Веб-додаток на Node.js # 3: Отримання даних
Відео: Пишемо API на NodeJS - # 2 - Установка Express. Додаємо базовий роутинг
Всім привіт! У цій статті ми розглянемо, як зробити навігацію по сторінках на платформі NodeJS.
Зараз, якщо ви спробуєте перейти на якусь сторінку, написавши її назву в URL нашого сайту, то нічого не станеться. Вся справа в тому, що ми поки не зробили роутинг (навігацію) по сторінках. Давайте в цій статті якраз і розглянемо, як можна реалізувати такий функціонал, напевно, найпростішим, але робочим способом.
Я відразу наведу код, а потім ми його детально розберемо:
var server = http.createServer(function(req, res){
if(req.url ===`/ Home`|| req.url ===`/`){
res.writeHead(200,{`Content-Type`:`Text / html`}) -
fs.createReadStream(__dirname +`/index.html`).pipe(res) -
}elseif(req.url ===`Contact`){
res.writeHead(200,{`Content-Type`:`Text / html`}) -
fs.createReadStream(__dirname +`/contact.html`).pipe(res) -
}elseif(req.url ===`/ Api / users`){
var users =[{name:`John`, age:27},{name:`David`, age:37}] -
res.writeHead(200,{`Content-Type`:`Application / json`}) -
res.end(JSON.stringify(users)) -
}else{
res.writeHead(404,{`Content-Type`:`Text / html`}) -
fs.createReadStream(__dirname +`/404.html`).pipe(res) -
}
}) -Отже, давайте розбиратися. Насправді, тут немає нічого складно, хоч код і вийшов досить громіздким. Ми використовуємо властивість req.url, щоб отримати дані з адресного рядка браузера. Далі ми перевіряємо, чи знаходиться там слово home або просто /, і, якщо так, то направляємо користувача на сторінку index.html, яка лежить у нас на сервері, за допомогою потокового виводу. Звичайно ж, не забуваємо вказати потрібний заголовок. Те ж саме ми робимо з іншими сторінками (сторінки контактів і 404 ви можете створити будь-які. Наприклад, можна просто скопіювати всі з index.html і поміняти заголовок і основний текст). Якщо нічого не знайдено, то в кінці ми відправляємо користувача на сторінку 404.html, вказавши браузеру заголовок 404.
Відео: Пишемо чат на Node.js (Веб-сокети)
Цікавіше те, що відбувається в рядку з API. Тут ми створили щось на зразок дуже простого API. У нас є масив з користувачами, кожен з яких представляє окремий об`єкт, який ми наводимо до рядка за допомогою методу JSON.stringify () і відправляємо за допомогою методу end ().
Як ви бачите, тут немає нічого складного, але кожен раз писати такий великий код для кожної сторінки досить складно. Добре, що є спеціальний пакет, який дозволить нам цю справу дуже сильно полегшити. Але про нього ми поговоримо вже в наступній статті.
Дякую за увагу!
Nodejs. Як створити сервер.
Nodejs. Що таке npm.
Nodejs. Що таке query strings.
Nodejs. Як відправити дані в форматі json.
Nodejs. Як зчитувати дані з потоку.
Nodejs. Що таке pipe ().
Nodejs. Як записувати дані в потік.
Nodejs. Що таке middleware і статичні файли.
Nodejs. Як працюють function expression.
Nodejs. Як зібрати шаблон з декількох частин.
Nodejs. Як обробляти post запити.
Nodejs. Починаємо роботу з express.
Nodejs. Движок v8.
Nodejs. Установка платформи.
Nodejs. Template engine. Частина 2.
Nodejs. Параметри маршрутизації в express.
Nodejs. Пакет nodemon.
Nodejs. Створення та видалення директорій.
Nodejs. Модулі.
Nodejs. Глобальний об`єкт.
Nodejs. Template engine. Частина 1.
Nodejs. Що таке middleware і статичні файли.
Nodejs. Що таке pipe ().
Nodejs. Що таке query strings.
Nodejs. Template engine. Частина 1.
Nodejs. Модулі.
Nodejs. Template engine. Частина 2.
Nodejs. Як обробляти post запити.
Nodejs. Починаємо роботу з express.
Nodejs. Потоковий висновок html сторінки.
Nodejs. Пакет nodemon.