Що таке Express.js?


439

Я вивчаю в Node.js .

  1. Що таке Express.js ?
  2. Яка мета цього з Node.js?
  3. Навіщо нам насправді потрібен Express.js? Чим корисно нам користуватися Node.js?
  4. Що таке Redis ? Поставляється з Express.js?

28
Прокрутіть униз до відповіді вікі спільноти (яка має 50 баналів). Я виявив, що це корисніше, ніж відповідь, позначений.
Шишир Гупта

Відповіді:


266

Це над спрощенням цього, але Express.js - це Node.js, що таке Ruby on Rails або Sinatra для Ruby .

Express 3.x - це легка рамка веб-додатків, яка допомагає організувати веб-додаток в архітектурі MVC на стороні сервера. Ви можете використовувати різні варіанти для вашої мови шаблонів (наприклад, EJS , Jade та Dust.js ).

Потім ви можете використовувати базу даних, на зразок MongoDB з Mongoose (для моделювання), щоб забезпечити вихідний додаток для вашої програми Node.js. Express.js в основному допомагає вам керувати всім, від маршрутів, до обробки запитів та переглядів.

Redis - це ключ / значення, який зазвичай використовується для сеансів та кешування в додатках Node.js. Ви можете зробити набагато більше з цим, але це я для цього використовую. Я використовую MongoDB для більш складних відносин, таких як позиції <-> порядку <-> відносини користувачів. Є модулі (найбільш помітно підключення-redis), які працюватимуть з Express.js. Вам потрібно буде встановити базу даних Redis на свій сервер.

Ось посилання на посібник Express 3.x: https://expressjs.com/en/3x/api.html


20
Експрес більше схожий на синатру, а не на рейки.
половина

11
Експрес був спеціально натхненний синатрами. Напевно, його найважливіша особливість - маршрутизація; він також надає доступ до всього проміжного програмного забезпечення, що надається підключенням (до моменту, коли всі, крім найбільш спеціалізованих додатків, які потребують проміжного програмного забезпечення підключення, швидше за все, будуть використовувати Express).
ebohlman

Я б сказав, що редис ідеально підходить для складних відносин.
плюс-

Посилання EJS наразі померло.
Девід Спектор

Я справді не розумію, як MVC ставиться до Express. Якщо я правильно пам'ятаю, Express не має моделей і не переглядає. Це рамка на основі проміжного програмного забезпечення, а не MVC. Будь ласка, поясніть це.
Герман

382

1) Що таке Express.js?

Express.js - це рамка Node.js. Це найпопулярніший фреймворк на даний момент (найбільш зірковий на NPM).

Введіть тут опис зображення.

Він побудований на основі конфігурації та детальної простоти програмного забезпечення Connect. Деякі люди порівнюють Express.js з Ruby Sinatra з громіздкою і самовпевненою Ruby on Rails .

2) Яка мета його роботи з Node.js?

Що вам не доведеться повторювати один і той же код знову і знову. Node.js - це механізм вводу / виводу низького рівня, який має модуль HTTP. Якщо ви просто використовувати модуль HTTP, багато роботи , як синтаксичний аналіз корисного навантаження, печиво, зберігання сесій (в пам'яті або в Redis ), вибираючи правильний шаблон маршруту на основі регулярних виразів буде мати , щоб бути повторно реалізовано. З Express.js він просто використовується для вас.

3) Навіщо нам насправді потрібен Express.js? Чим корисно нам користуватися Node.js?

Перша відповідь повинна відповісти на ваше запитання. Якщо ні, то спробуйте написати невеликий сервер API REST у звичайному Node.js (тобто, використовуючи лише основні модулі), а потім у Express.js. Останнє забере у вас на 5-10 разів менше часу та рядків коду.

Що таке Redis? Поставляється з Express.js?

Redis - це швидко зберігається ключ-значення. Ви можете додатково використовувати його для зберігання сеансів на Express.js, але цього не потрібно. За замовчуванням Express.js має сховище пам'яті для сеансів. Redis також можна використовувати для виконання завдань у черзі, наприклад, завдань електронної пошти.

Перегляньте мій підручник на сервері REST API з Express.js .

MVC, але не сам по собі

Express.js сам по собі не є моделлю-контролером-контролером. Потрібно залучити власні бібліотеки об'єктно-реляційних карт, такі як Mongoose для MongoDB, Sequelize ( http://sequelizejs.com ) для баз даних SQL, Waterline ( https://github.com/balderdashy/waterline ) для багатьох баз даних стек.

Альтернативи

Інші рамки Node.js для розгляду ( https://www.quora.com/Node-js/Which-Node-js-framework-is-best-for-building-a-RESTful-API ):

ОНОВЛЕННЯ: Я зібрав цей ресурс, який допомагає людям у виборі рамок Node.js: http://nodeframework.com

ОНОВЛЕННЯ2: Ми додали кілька статистичних даних GitHub до nodeframework.com, тому тепер ви можете порівняти рівень соціального доказування (зірки GitHub) для 30+ фреймів на одній сторінці.

введіть тут опис зображення

Повний пакет:

Просто REST API:

Ruby on Rails:

Синатра як:

Інший:

Посереднє програмне забезпечення:

Статичні генератори сайту:


Чи буде правильно сказати, що - Express.js - це модуль Node.js (який ви розглянули як рамки у своєму першому рядку). Я moduleдосить часто чув термін nodeJs . Рамка в рамках є для мене трохи новиною.
RBT

Так, як на практиці, Express IS - це модуль диспетчера пакетів вузлів (npm) (він же пакет) настільки, наскільки він доданий до програми, як і інші модулі з npm. (Якщо ви подивитеся на вихідну папку програми Node Express, ви побачите папку під назвою node_modules. Вона буде містити підпапку під назвою express.) Але це набагато корисніше, ніж більшість інших модулів поза npm, оскільки у неї є завантаження залежних модулів, які ефективно надають кодеру програми API для загальних завдань. Рамка всередині рамки? Більше схоже на рамку реалізації, приєднану до системи створення сервера.
Багажник

15
  1. Що таке Express.js?

Express.js - це серверний сервер веб-додатків Node.js, призначений для створення односторінкових, багатосторінкових та гібридних веб-додатків. Це фактично стандартна серверна основа для node.js.

Рамки, побудовані на Express.

На Express створено кілька популярних фреймворків Node.js:

LoopBack: високорозширювана рамка Node.js з відкритим кодом для швидкого створення динамічних API REST від кінця до кінця.

Вітрила: рамки MVC для Node.js для створення практичних програм, готових до виробництва.

Kraken: Безпечний і масштабований шар, що розширює Експрес, забезпечуючи структуру та конвенцію.

ОЗНАЧЕННЯ: Охоронний фреймворк JavaScript на повному рівні, що спрощує та прискорює розробку веб-додатків.

  1. Яка мета цього з Node.js?
  2. Навіщо нам насправді потрібен Express.js? Чим корисно нам користуватися Node.js?

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

Наприклад,

  • Хочете сеансів? Це там
  • Хочете розбирати рядок тіла / запиту POST? Це там
  • Хочете легких шаблонів через нефрит, вуса, ейс тощо? Це там
  • Хочете витонченого поводження з помилками, що не призведе до збою всього сервера?

10
  1. Express.js - це модульна веб-рамка для Node.js
  2. Він використовується для більш легкого створення веб-додатків та сервісів
  3. Express.js спрощує розробку та спрощує написання безпечних, модульних та швидких програм. Ви можете все це зробити у звичайному старому Node.js, але деякі помилки можуть (і будуть) поверхові, включаючи проблеми безпеки (наприклад, неправильне виведення рядка)
  4. Redis - це система бази даних в пам'яті, яка відома своїми швидкими характеристиками. Ні, але ви можете використовувати його з Express.js за допомогою клієнта redis

Я не міг бути більш лаконічним за це. З усіх ваших інших потреб та інформації Google є вашим другом.


3

ExpressJS - це рамка веб-додатків з голими кістками поверх NodeJS.

З його допомогою можна швидко створювати WebApps, RESTFUL API та ін.

Підтримує кілька двигунів шаблонів, таких як Jade, EJS.

ExpressJS зберігає лише мінімалістичний функціонал як основні функції, тому ORM або DB не підтримуються як стандартні. Але, доклавши трохи зусиль, програми Expressjs можна інтегрувати в різні бази даних.

Для початку посібника зі створення програм ExpressJS перегляньте наступне посилання:

ExpressJS вступний підручник


3

Express - це модульна рамка для Node, яку ви можете використовувати для додатків, що базуються на серверах / серверах, які "слухатимуть" будь-які запити на введення / з'єднання від клієнтів. Коли ви використовуєте його в Node, це просто говорить про те, що ви вимагаєте використання вбудованого експрес-файлу від своїх модулів Node.

Експрес є "основою" багатьох веб-додатків, які мають свій задній край у NodeJS. Як я знаю, його основним надбанням є забезпечення системи маршрутизації, яка обслуговує послуги "взаємодії" між двома хостами. Для цього існує безліч альтернатив, таких як «Вітрила».


2

Express.js - це фреймворк, який використовується для Node, і найчастіше використовується як веб-додаток для вузла js.

Ось посилання на відео про те, як швидко налаштувати додаток для вузла за допомогою експрес- https: //www.youtube.com/watch?v= QEcuSSnqvck


Дивовижне пояснення для абсолютних початківців!
Анкіт Пандей

0

Express.js створений Т. Дж. Головайчуком і зараз керується громадою. Це одна з найпопулярніших фреймворків у node.js. Експрес також можна використовувати для розробки різних продуктів, таких як веб-додатки або RESTful API. Для отримання додаткової інформації, будь ласка, прочитайте на офіційному сайті expressjs.com.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.