Node.js против Express.js
Node.js: Node.js - это кроссплатформенная среда выполнения с открытым исходным кодом для выполнения кода JavaScript вне браузера. Вы должны помнить, что NodeJS - это не фреймворк и не язык программирования. Большинство людей сбиты с толку и понимают, что это фреймворк или язык программирования. Мы часто используем Node.js для создания серверных сервисов, таких как API-интерфейсы, такие как веб-приложение или мобильное приложение. Он используется в производстве такими крупными компаниями, как Paypal, Uber, Netflix, Wallmart и так далее.
Express.js: Express - это небольшая платформа, которая располагается поверх функциональности веб-сервера Node.js, чтобы упростить его API и добавить новые полезные функции. Это упрощает организацию функциональности вашего приложения с помощью промежуточного программного обеспечения и маршрутизации. Он добавляет полезные утилиты к HTTP-объектам Node.js. Это облегчает рендеринг динамических объектов HTTP.
Разница между Node.js и Express.js:
- Node.js - это платформа для создания приложений ввода-вывода, которые управляются событиями на стороне сервера и создаются с использованием JavaScript.
- Express.js - это фреймворк на основе Node.js, который используется для создания веб-приложений с использованием подходов и принципов Node.js. Event-driven.
| Характерная черта | Express.js | Node.js |
| Применение | Он используется для создания веб-приложений с использованием подходов и принципов Node.js. | Он используется для создания серверных приложений ввода-вывода, управляемых событиями. |
| Уровень характеристик | Больше возможностей, чем в Node.js. | Меньше возможностей. |
| Структурный элемент | Он построен на Node.js. | Он построен на движке Google V8. |
| Написано в | JavaScript | C, C ++, JavaScript |
| Фреймворк / Платформа | Фреймворк на основе Node.js. | Платформа времени выполнения или среда, предназначенная для выполнения JavaScript на стороне сервера. |
| Контроллеры | Предоставляются контроллеры. | Контроллеров не предусмотрено. |
| Маршрутизация | Предусмотрена маршрутизация. | Маршрутизация не предусмотрена. |
| ПО промежуточного слоя | Использует промежуточное программное обеспечение для систематического размещения функций на стороне сервера. | Не использует такое положение. |
| Время кодирования | Требуется меньше времени на кодирование. | Требуется больше времени на кодирование. |
Пример. Следующее сравнение показывает, как один и тот же код по-разному написан в Node.js (код левой вкладки) и Express.js (код правой вкладки).
Примечание . Эти коды приведены в сравнениях ниже.

Запуск сервера в Node.js и Express.js
1. Сервер Express.js: установите экспресс, используя следующую команду:
npm install --save express
Имя файла: index.js
Javascript
// Requiring the moduleconst express = require( 'express' );const app = express(); // Route handlingapp.get( '/' , (req, res) => { res.send( '<h2>Hello from Express.js server!!</h2>' );}); // Server setupapp.listen(8080, () => { console.log( 'server listening on port 8080' );}); |
Запустите файл index.js, используя следующую команду:
узел index.js
Выход:

2. Сервер Node.js: требуйте модуль http, используя следующий код:
const http = require ('http');Имя файла: index.js
Javascript
// Requiring the moduleconst http = require( 'http' ); // Creating server objectconst server = http.createServer((req, res) => { res.setHeader( 'Content-Type' , 'text/html' ); res.write( '<html>' ); res.write( '<head><title>GeeksforGeeks</title><head>' ); res.write( '<body><h2>Hello from Node.js server!!</h2></body>' ); res.write( '</html>' ); res.end();}); // Server setupserver.listen(3000, ()=> { console.log( "Server listening on port 3000" )}); |
Запустите файл index.js, используя следующую команду:
узел index.js
Выход:

Маршрутизация в Node.js и Express.js
1. Маршрутизация в Express.js :
- Предусмотрена маршрутизация и проста в реализации.
- Мы можем напрямую передать имя маршрута и функцию встроенной функции express, указав тип запроса как get, post.
Имя файла: index.js
Javascript
// Requiring moduleconst express = require( 'express' );const app = express(); // Handling '/' requestapp.get( '/' , (req, res) => { res.send( '<h2>Hello from Express.js server!!</h2>' );}); // Handling '/about' requestapp.get( '/about' , (req,res) => { res.send( '<h2>GeeksforGeeks- Express.js</h2>' );}); // Server setupapp.listen(8080, () => { console.log( 'server listening on port 8080' );}); |
Запустите файл index.js, используя следующую команду:
узел index.js
Откройте браузер и перейдите по адресу http: // localhost: 8080 / about , на выходе будет следующее:

2. Маршрутизация в Node.js:
- Маршрутизация не предусмотрена.
- Мы должны проверить URL-адрес и метод запроса при отправке ответа.
Имя файла: index.js
Javascript
// Requiring the moduleconst http = require( 'http' ); // Creating server objectconst server = http.createServer((req, res) => { const url = req.url; if (url === '/' ) { res.write( '<html>' ); res.write('<head><title>GeeksforGeeks</title><head>' ); res.write('<body><h2>Hello from Node.js server!!</h2></body>' ); res.write( '</html>' ); return res.end(); } if (url === '/about' ) { res.write( '<html>' ); res.write('<head><title>GeeksforGeeks</title><head>' ); res.write('<body><h2>GeeksforGeeks- Node.js</h2></body>' ); res.write( '</html>' ); return res.end(); }}); // Server setupserver.listen(3000, () => { console.log( "Server listening on port 3000" )}); |
Запустите файл index.js, используя следующую команду:
узел index.js
Откройте браузер и перейдите по адресу http: // localhost: 3000 / about , на выходе будет следующий результат: