Фреймворк 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, запускаются обращением к скрипту, который является точкой входа.
node app.js
После того как разработка приложения завершена его нужно запустить в production, т.е. настроить безотказную и постоянную работу на сервере. Читайте о том как это сделать.