Фреймворк NodeJS Express и запуск его на сервере


Фреймворк NodeJS Express является самым популярным способом разработки сайтов на NodeJS. Часто он применяется совместно с NoSQL базой данных MongoDB. Для работы на сервере требуется NodeJS и NPM.



Фреймворк NodeJS Express — создание проекта и настройка его работы на сервере


Рассмотрим создание приложения на EXPRESS на сервере с Ubuntu.

apt-get update && apt-get isntall nodejs



Менеджер пакетов npm устанавливается вместе с nodejs, в других дистрибутивах может потребоваться установить его отдельно командой apt-getinstall npm.



В том, что пакеты присутствуют в системе можно убедиться проверив их версии

npm -v

1.4.21



nodejs -v

v8.11.2



Нужен будет также пакет node-express-generator

apt install node-express-generator



Фреймворк ставится глобально (от имени root или пользователя с sudo)

npm install -g express



Создадим каталог в котором будем работать

mkdir /var/node && cd /var/node/



Обращаемся к фреймворку

express

create : ./public/stylesheets/style.css
(node:18589) [DEP0013] DeprecationWarning: Calling an asynchronous function without callback is deprecated.

install dependencies:
$ cd . && npm install

run the app:
$ DEBUG=my-application ./bin/www



При этом в текущей директории будет создано некоторое количество каталогов и файлов, среди прочего файл package.json

Это файл со всеми модулями NodeJS, которые по умолчанию используются фреймворком Express.



Файл можно просмотреть и отредактировать вручную. Последней строкой в список зависимостей добавим mongoose указав в качестве версии *, это означает, что нужна последняя версия.



Mongoose — модуль для работы с NoSQL базой данных MongoDB. В NodeJS проектах она используется очень часто.

mcedit package.json

{
"name": "application-name",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "nodejs ./bin/www"
},
"dependencies": {
"express": "~4.0.0",
"static-favicon": "~1.0.0",
"morgan": "~1.0.0",
"cookie-parser": "~1.0.1",
"body-parser": "~1.0.0",
"debug": "~0.7.4",
"jade": "~1.3.0",
"mongoose": "*"
}
}



Все модули, упомянутые в package.json устанавливаются следующим образом:

npm install



После этого модно запускать приложение так как указано в выводе предпоследней команды

DEBUG=my-application ./bin/www

my-application Express server listening on port 3000 +0ms



my-application работает в режиме DEBUGна порту 3000.

netstat -nltp | grep 3000

tcp6 0 0 :::3000 :::* LISTEN 18745/nodejs



Обратившись в браузере по публичному IP адресу сервера на порт 3000 можно увидеть стартовую страницу Express.


фреймворк nodejs express

В общем случае приложения на NodeJS, в том числе Express, запускаются обращением к скрипту, который является точкой входа.

node app.js



После того как разработка приложения завершена его нужно запустить в production, т.е. настроить безотказную и постоянную работу на сервере. Читайте о том как это сделать.

Сказать спасибо
Categories: