Express (Node.js): остановка веб-сервера динамического сайта

Jan 11, 2022 09:47

Операционная система: «Windows 10 Pro».
Командная строка программы «Windows PowerShell», версия 5.1.

Динамический сайт (веб-приложение) сгенерирован генератором веб-фреймворка «Express» для работы в рамках среды выполнения «Node.js». В файле package.json описано три скрипта: start, devstart, serverstart (я об этом писал отдельный пост). Тут подробнее:

https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/skeleton_website

* * *

Я заметил, что остановка веб-сервера сгенерированного веб-приложения производится несколько по-разному в зависимости от способа запуска этого веб-сервера.

Способ запуска 1. Команда в командной строке (текущее местоположение - папка проекта):

node ./bin/www

После нажатия клавиши «Enter» курсор переходит на следующую строку в окне командной строки и мигает там. Это значит, что веб-сервер запущен, но визуально в окне командной строки об этом больше никак не сообщается. После входа на наш динамический сайт из браузера в окне командной строки начинают появляться сообщения с информацией о запросах браузера.

Остановка веб-сервера: нажимаем комбинацию клавиш «Ctrl+C». Выводится строка-приглашение командной строки программы «Windows PowerShell» с мигающим курсором. Больше никак дополнительно остановка веб-сервера в окне командной строки не отражается. В браузере наш динамический сайт становится недоступен. Вот как это выглядит:



Способ запуска 2. Команда в командной строке (текущее местоположение - папка проекта):

npm start

После нажатия клавиши «Enter» выводятся следующие сообщения:

> myapp@0.0.0 start
> node ./bin/www
Курсор переходит на две строки ниже этих сообщений и мигает там. Это означает, что веб-сервер запущен. После входа на наш динамический сайт через браузер ниже этих сообщений начинают выводиться сообщения с информацией о запросах браузера.

Остановка веб-сервера: нажимаем комбинацию клавиш «Ctrl+C». Появляется следующий вопрос:

Завершить выполнение пакетного файла [Y(да)/N(нет)]?
На что вводим ответ «да» посредством введения символа «y» (строчная или прописная буква «игрек» латинского алфавита). Выводится строка-приглашение командной строки программы «Windows PowerShell» с мигающим курсором. В браузере наш динамический сайт становится недоступен. Вот как это выглядит:



Способ запуска 3. Команда в командной строке (текущее местоположение - папка проекта):

npm run devstart

После нажатия клавиши «Enter» выводятся следующие сообщения:

> myapp@0.0.0 devstart
> nodemon ./bin/www

[nodemon] 2.0.15
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node ./bin/www`
Курсор переходит на следующую строку и мигает там. Это означает, что веб-сервер запущен. После входа на наш динамический сайт через браузер ниже этих сообщений начинают выводиться сообщения с информацией о запросах браузера.

Остановка веб-сервера: нажимаем комбинацию клавиш «Ctrl+C». Далее всё происходит точно так же, как и во втором случае (см. выше). То есть задается вопрос, на него отвечаем утвердительно и работа веб-сервера завершается. Наш динамический сайт через браузер становится недоступным. Вот как это выглядит:



Способ запуска 4. Команда в командной строке (текущее местоположение - папка проекта):

npm run serverstart

После нажатия клавиши «Enter» выводятся следующие сообщения:

> myapp@0.0.0 serverstart
> $Env:DEBUG='myapp:*'; npm run devstart

> myapp@0.0.0 devstart
> nodemon ./bin/www

[nodemon] 2.0.15
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node ./bin/www`
myapp:server Listening on port 3000
Курсор переходит на следующую строку и мигает там. Это означает, что веб-сервер запущен. После входа на наш динамический сайт через браузер ниже этих сообщений начинают выводиться сообщения с информацией о запросах браузера.

Остановка веб-сервера: нажимаем комбинацию клавиш «Ctrl+C». В этот раз выводятся два одинаковых вопроса подряд:

Завершить выполнение пакетного файла [Y(да)/N(нет)]? Завершить выполнение пакетного файла [Y(да)/N(нет)]?
Вводим ответ «да» дважды посредством ввода сначала одной буквы «y» (набираем латинскую букву «игрек», затем нажимаем кнопку «Enter»), затем - второй буквы «y» (набираем эту букву, затем нажимаем кнопку «Enter»). Регистр латинской буквы «игрек» не имеет значения. Выводится строка-приглашение командной строки программы «Windows PowerShell» с мигающим курсором. В браузере наш динамический сайт становится недоступен. Вот как это выглядит:



О команде «rs». При запусках веб-сервера способами 3 и 4 программа «nodemon» предоставляет команду «rs», это видно из вышеуказанных сообщений. Эта команда становится доступной только после запуска программы «nodemon», во время ее работы. До запуска веб-сервера и после остановки веб-сервера эта команда недоступна. С помощью этой команды можно инициировать перезапуск веб-сервера вручную (обычно эта команда не нужна, потому что программа «nodemon» отслеживает изменения в исходных файлах веб-сервера и в случае необходимости сама выполняет перезагрузку веб-сервера; таким образом, команда «rs», как я понимаю, используется в исключительных случаях). Вот как может выглядеть использование этой команды:



На этой иллюстрации стрелкой 1 отмечен первоначальный запуск веб-сервера. Стрелкой 2 отмечен мой ввод вручную команды «rs» программе «nodemon». После этого программа «nodemon» выполнила перезапуск веб-сервера (сначала остановила веб-сервер, а затем вновь его запустила). Стрелкой 3 отмечен повторный запуск веб-сервера (заключительная часть перезапуска).

Инструмент, Образование, Сайтостроение, Программирование

Previous post Next post
Up