Express - минималистичный веб-фреймворк Node.js

Установка

Предположим, вы уже установили Node.js. Создайте каталог для своего приложения и сделайте его своим рабочим каталогом.


$ mkdir myapp
$ cd myapp

С помощью команды npm init создайте файл package.json для своего приложения. Дополнительную информацию о работе package.json можно найти в разделе Специфика работы с npm package.json.


$ npm init

Эта команда выдает целый ряд приглашений, например, приглашение указать имя и версию вашего приложения. На данный момент, достаточно просто нажать клавишу ВВОД, чтобы принять предлагаемые значения по умолчанию для большинства пунктов, кроме следующего:


entry point: (index.js)

Введите app.js или любое другое имя главного файла по своему желанию. Если вас устраивает index.js, нажмите клавишу ВВОД, чтобы принять предложенное имя файла по умолчанию.

Теперь установите Express в каталоге app и сохраните его в списке зависимостей. Например:


$ npm install express --save

Для временной установки Express, без добавления его в список зависимостей, не указывайте опцию --save:


$ npm install express

Пример “Hello world”

Ниже приведен пример самого простого приложения, которое можно создать с помощью Express. Оно состоит из одного файла, в отличие от приложений, генерируемых с помощью генератора приложений Express, который обеспечивает создание основы для полноценного приложения с многочисленными файлами на JavaScript, шаблонами Jade и вложенными каталогами различного предназначения.

Вначале создайте каталог с именем myapp, перейдите в него и запустите команду npm init. Затем установите express как зависимость, следуя указаниям, приведенным в руководстве по установке.

В каталоге myapp создайте файл с именем app.js и добавьте следующий код:


var express = require('express');
var app = express();

app.get('/', function (req, res) {
  res.send('Hello World!');
});

app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});

Приложение запускает сервер и слушает соединения на порте 3000. Приложение выдает ответ “Hello World!” на запросы, адресованные корневому URL (/) или маршруту. Для всех остальных путей ответом будет 404 Not Found.

req (запрос) и res (ответ) являются теми же объектами, которые предоставляет Node, поэтому можно вызвать req.pipe(), req.on('data', callback) и выполнить любые другие действия, не требующие участия Express.

Запустите приложение с помощью следующей команды:


$ node app.js

После этого откройте в браузере страницу http://localhost:3000/, чтобы просмотреть результат.

Для быстрого создания “скелета” приложения используется инструмент для генерации приложений express.

Установите express с помощью следующей команды:


$ npm install express-generator -g

Для просмотра опций команды воспользуйтесь опцией -h:


$ express -h

  Usage: express [options][dir]

  Options:

    -h, --help          output usage information
    -V, --version       output the version number
    -e, --ejs           add ejs engine support (defaults to jade)
        --hbs           add handlebars engine support
    -H, --hogan         add hogan.js engine support
    -c, --css <engine&rt;  add stylesheet <engine&rt; support (less|stylus|compass|sass) (defaults to plain css)
        --git           add .gitignore
    -f, --force         force on non-empty directory

Например, следующая команда создает приложение Express с именем myapp в текущем рабочем каталоге:


$ express myapp

   create : myapp
   create : myapp/package.json
   create : myapp/app.js
   create : myapp/public
   create : myapp/public/javascripts
   create : myapp/public/images
   create : myapp/routes
   create : myapp/routes/index.js
   create : myapp/routes/users.js
   create : myapp/public/stylesheets
   create : myapp/public/stylesheets/style.css
   create : myapp/views
   create : myapp/views/index.jade
   create : myapp/views/layout.jade
   create : myapp/views/error.jade
   create : myapp/bin
   create : myapp/bin/www

Затем установите зависимости:


$ cd myapp
$ npm install

В MacOS или Linux запустите приложение с помощью следующей команды:


$ DEBUG=myapp:* npm start

В Windows используется следующая команда:


> set DEBUG=myapp:* & npm start

Затем откройте страницу http://localhost:3000/ в браузере для доступа к приложению.

Структура каталогов сгенерированного приложения выглядит следующим образом:


.
├── app.js
├── bin
│   └── www
├── package.json
├── public
│   ├── images
│   ├── javascripts
│   └── stylesheets
│       └── style.css
├── routes
│   ├── index.js
│   └── users.js
└── views
    ├── error.jade
    ├── index.jade
    └── layout.jade

7 directories, 9 files

Структура приложения, сгенерированная с помощью генератора, является всего лишь одним из множества способов организации структуры приложений Express. Вы можете использовать данную структуру или изменять ее в соответствии со своими потребностями.

Поделитесь статьей со своими друзьями