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.