В этом руководстве мы будем создавать простой сервер – во-первых, без выражать а потом с Экспресс Отказ
Я предполагаю, что вы уже понимаете теорию позади Node.js , Экспресс и узел Таким образом, мы просто пойду прямо к практическим.
Оглавление
- Установить Node.js и NPM
- Проверьте, была ли установка успешной
- Создайте сервер узла без Express
- Проверьте наш сервер
- Отправить ответ от нашего сервера
- Создайте сервер узла с Express
- Закрепите свой сервер. Сделать это будущим доказательством
- Вывод
Установите Node.js и NPM (если вы этого не сделали)
- Перейти к Настройка Node.js
- Нажмите на рекомендуемую кнопку загрузки
Когда загрузка завершена, установите Node.js, используя загруженные .exe Файл (Это следует нормальному процессу установки) Отказ
Проверьте, была ли установка успешной
- Перейти к вашему терминалу/командной строке (Беги как администратор, если это возможно)
- Введите каждый из следующих и нажмите кнопку ENTER
node -v
npm -v
Ваш выход должен быть похож на изображение ниже.
Версия может быть разной, но это нормально.
Создайте сервер узла без Express
Для остальной части этого учебника я буду использовать VS Code Editor. Вы можете использовать любой редактор, который вы выберете.
- Давайте начнем с создания каталога проекта. Запустите терминал и введите следующее, чтобы создать каталог и откройте его.
mkdir server-tutorial cd server-tutorial
Я назвал свой каталог проекта: Сервер-Учебник (Вы можете назвать ваши, как вы, пожалуйста) Отказ
- В терминале введите следующее:
NPM initОтказ ХитВведитеКнопка для всех подсказок. Когда завершено, вы должны иметьpackage.jsonФайл сидит в вашем каталоге проекта.
package.json Файл – это просто файл со всеми деталями вашего проекта. Вам не нужно открывать его.
Создать файл
index.jsВ файле требуется
HttpМодуль вроде так:
const http = require('http');
- Позвоните в
Createserver ()метод на нем и назначьте его постоянно так
const server = http.createServer();
- Позвоните в
Слушать ()Метод на константу сервера, как так
server.listen();
- Дайте ему порт, чтобы слушать. Теперь это может быть любой бесплатный порт Но мы будем использовать порт
3000который является обычным портом. Итак, у нас есть
const http = require('http');
const server = http.createServer();
server.listen(3000);
По сути, это все, что вам нужно сделать, чтобы создать сервер.
Проверьте наш сервер.
В вашем терминале (должно быть в каталоге проекта) , введите
Узел index.jsи ударилВведитекнопка.Откройте новую вкладку в
почтальонили любой веббраузерА в адресной строке введитеhttp://localhost: 3000/и ударилВведитекнопка. (Я буду использовать почтальон из-за этого расширенные функции вне коробки)
Вы заметите, что ваш браузер или почтальон продолжают загрузку бесконечно, как так
Yaye … Это нормально. Наш сервер работает и работает.
Но это уже скучно. Нам нужно сделать сервер поговорить с нами.
Давайте доберемся до него сразу Отказ
Отправить ответ от нашего сервера
Вернуться в наш код, добавьте следующее в const.createserver ();
(request, response) => {
response.end('Hey! This is your server response!');
}
Так что у нас сейчас есть:
const http = require('http');
const server = http.createServer((request, response) => {
response.end('Hey! This is your server response!');
});
server.listen(3000);
В термине Лэймана Запрос Объект говорит Сервер что мы хотим что-то, ответ Объект говорит нам, что Сервер должен сказать о наших Запрос и конец () Способ завершает связь с сервер отклик .
Надеюсь, это имеет смысл!
Теперь проверьте сервер снова, следуя шагам, которые мы изложены выше, и ваш сервер должен говорить с вами. Это мой выход:
Не стесняйтесь менять строку, как вы хотите.
Использовать Контроль/команда + C Чтобы завершить сервер и запустить Узел индекс Чтобы начать сервер снова.
Выглядящий острым! Правильно? Все хорошо…
Создайте сервер узла с Express
В этом разделе мы хотим сделать нашу жизнь проще, используя выражать и Номемон (Узел-пн или бездемона, произнесены как вы хотите).
- В терминале установите следующие
npm install express --save npm install nodemon --save-dev
Создайте новое имя файла IT
app.js.Или все, что вам подходитВ файл,
я. Требовать экспресс так
const (‘Express’);
II. Назначьте метод Express для постоянной, как так
const ();
III. Экспортируйте постоянную приложение, чтобы сделать его доступным для использования в других файлах в каталоге, как так
module.exports;
Итак, у нас есть:
const express = require('express');
const app = express();
module.exports = app;
- В
index.jsФайл, требуетсяприложениеМы экспортировали некоторое время назад, например,
const (‘./приложение’) ;
- Установите порт, используя приложение, как так
app.set (‘port’, 3000);
- Замените код в
http.createserver ()Метод с простоприложениевот так
const.createserver (приложение);
Это направляет все управление API для app.js Файл, помогающий с разделением проблем.
Итак, наш index.js файл теперь выглядит так
const http = require('http');
const app = require('./app');
app.set('port', 3000);
const server = http.createServer(app);
server.listen(3000);
- Вернуться в нашу
app.jsФайл, поскольку мы направили все управление API здесь, давайте создадим API, чтобы поговорить с нами, как раньше.
Итак до Module.exports добавьте следующее
app.use((request, response) => {
response.json({ message: 'Hey! This is your server response!' });
});
У нас сейчас есть:
const express = require('express');
const app = express();
app.use((request, response) => {
response.json({ message: 'Hey! This is your server response!' });
});
module.exports = app;
Ахааа … Пришло время проверить наше приложение
Чтобы проверить наше приложение, мы сейчас введите Индекс Nodemon в нашем терминале и ударил Введите кнопка. Это мой терминал
Уменяете ли вы, что Neademon дает нам детали выполнения в терминале в отличие от узла? Это красота узема.
Теперь вы можете пойти в почтальон или любой браузер А в адресной строке введите http://localhost: 3000/ и ударил Введите кнопка. Смотрите мой выход:
Walah !!! Это работает.
Сейчас больше причина использовать Nodemon. Перейти к app.js Файл и изменить сообщение строка в любую строку по вашему выбору, сохранить и посмотреть Терминал Отказ
Ух ты… Он автоматически перезапускает сервер. Это было невозможно с узлом. Нам пришлось перезапустить сервер.
Закрепите свой сервер. Сделать это будущим доказательством
- В
index.jsФайл, замените весь код следующим:
const http = require('http');
const app = require('./app');
const normalizePort = val => {
const port = parseInt(val, 10);
if (isNaN(port)) {
return val;
}
if (port >= 0) {
return port;
}
return false;
};
const port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
const errorHandler = error => {
if (error.syscall !== 'listen') {
throw error;
}
const address = server.address();
const bind = typeof address === 'string' ? 'pipe ' + address : 'port: ' + port;
switch (error.code) {
case 'EACCES':
console.error(bind + ' requires elevated privileges.');
process.exit(1);
break;
case 'EADDRINUSE':
console.error(bind + ' is already in use.');
process.exit(1);
break;
default:
throw error;
}
};
const server = http.createServer(app);
server.on('error', errorHandler);
server.on('listening', () => {
const address = server.address();
const bind = typeof address === 'string' ? 'pipe ' + address : 'port ' + port;
console.log('Listening on ' + bind);
});
server.listen(port);
Process.env. Порт делает приложение динамически так, чтобы он мог запустить любой порт, назначенный ему в будущем при размещении на живом сервере
Normalizeport Функция возвращает действительный порт, оказывается ли он в виде номера или строки
ErrorHandler Функция проверяет различные ошибки и обрабатывает их соответствующим образом – затем зарегистрирован на сервере
А слушать Прослушатель событий также зарегистрирован, введя порт или с именованной трубой, на котором работает сервер к консоли
Yooh! Наш сервер более безопасен и сейчас надежно. Обратите внимание, что Nodemon также отображает порт, который мы сейчас слушаем.
Там у вас есть, Простой, безопасный и надежный сервер Nodejs
Вывод
Мы смогли узнать, как создать сервер, используя только nodejs, после чего, мы улучшили наш сервер, используя Express и Nodemon.
Все коды можно найти здесь
EbereGit/Server-Tutorial
Это учебник должен был научить, как создать простой, безопасный и надежный сервер NODEJS, но мы расширили наш объем до County и Postgres
Далее мы смотрим на изображение загружать в обладание, используя nodejs и express.
Если у вас есть вопросы, комментарии или предложения, пожалуйста, снимите их в раздел комментариев.
Вы также можете следовать за мной и сообщить мне на платформы в социальных сетях.
Твиттер | Linkedin. | Гадость
Спасибо за уделенное время.
Оригинал: “https://dev.to/ebereplenty/setting-up-a-simple-secure-and-robust-node-js-server-10n0”