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 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 , на выходе будет следующий результат: