Фреймворк Express является самым популярным способом разработки сайтов на NodeJS. Часто он применяется совместно с NoSQL базой данных MongoDB. Для работы на сервере требуется NodeJS и NPM.
Фреймворк Express — создание проекта
Рассмотрим создание приложения на EXPRESS на сервере с Ubuntu 16.
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, которые по умолчанию используются фреймворком.
Файл можно просмотреть и отредактировать вручную. Последней строкой в список зависимостей добавим 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 запускаются обращением к скрипту, который является точкой входа.
node app.js
После того как разработка приложения завершена его нужно запустить в production, т.е. настроить безотказную и постоянную работу на сервере. Читайте о том как это сделать.