Node.js против Express.js

Опубликовано: 27 Июля, 2021

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 module
const express = require( 'express' );
const app = express();
// Route handling
app.get( '/' , (req, res) => {
res.send( '<h2>Hello from Express.js server!!</h2>' );
});
// Server setup
app.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 module
const http = require( 'http' );
// Creating server object
const 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 setup
server.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 module
const express = require( 'express' );
const app = express();
// Handling '/' request
app.get( '/' , (req, res) => {
res.send( '<h2>Hello from Express.js server!!</h2>' );
});
// Handling '/about' request
app.get( '/about' , (req,res) => {
res.send( '<h2>GeeksforGeeks- Express.js</h2>' );
});
// Server setup
app.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 module
const http = require( 'http' );
// Creating server object
const 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 setup
server.listen(3000, () => {
console.log( "Server listening on port 3000" )
});

Запустите файл index.js, используя следующую команду:

 узел index.js

Откройте браузер и перейдите по адресу http: // localhost: 3000 / about , на выходе будет следующий результат: