В этой статье мы рассмотрим, как можно использовать Node.js в сочетании с Express для ускорения цикла разработки.
Мы начнем с некоторых основ Node.js, включая начальные этапы настройки с помощью npm, и создадим простой веб-сервер для разработки.
Начало работы с Node.js
Что такое Node.js?
Node.js – это платформа, построенная на основе среды выполнения Chrome JavaScript, позволяющая легко создавать быстрые и масштабируемые сетевые приложения. Node.js использует модель неблокирующего ввода-вывода, управляемую событиями, что делает его легким и эффективным, идеально подходящим для приложений реального времени, интенсивно использующих данные, которые работают на распределенных устройствах.
утилита нпм
Node.js поставляется в комплекте с утилитой npm, которая является официальным менеджером пакетов для Node.js и предоставляет интерфейс командной строки (CLI) для взаимодействия с онлайн-реестром для открытия -исходные проекты Node.js, модули, ресурсы и т. д. Вы можете найти его на http://npmjs.org.
Для получения документации по API посетите https://npmjs.org/doc/ или просто введите npm в своем терминале.
Установка node.js и npm
Прежде всего нам нужно установить Node.js и npm, чтобы продолжить. Попробуйте один из следующих вариантов установки:
- Пользователь Ubuntu/Debian может запускать
apt-get install nodejs
- Пользователи Mac/Homebrew могут запускать
brew install node
- Пользователи Windows или альтернативы могут загрузить бинарный файл с http://nodejs.org/
- Используйте диспетчер версий узлов (NVM)
Начальная конфигурация
После установки мы можем, при желании, немного настроить npm. Идите вперед и введите эти команды в терминал, используя вашу собственную информацию. Таким образом, когда мы позже запустим некоторые команды npm, он уже будет знать, кто мы, и сможет автоматически заполнять для нас некоторую информацию.
npm set init.author.name "John Doe"
npm set init.author.email "[email protected]"
npm set init.author.url "http://johndoe.com"
Если вы не хотите публиковать модули узла в онлайн-реестре, вам нужно будет создать пользователя. Следующая команда запросит у вас адрес электронной почты и пароль, создаст или подтвердит пользователя в реестре npm и сохранит учетные данные в файле ~/.npmrc.
npm adduser
Создайте модуль Node.js
Модуль Node.js/npm — это обычный файл JavaScript с добавлением того, что он должен соответствовать спецификации модуля CommonJS. Это действительно не так сложно, как кажется. Модули Node работают в своей области, поэтому они не конфликтуют с другими модулями. Node, соответственно, предоставляет доступ к некоторым глобальным переменным, чтобы упростить взаимодействие модулей. Два основных элемента, которые нас здесь интересуют, — это запрос и экспорт. Вам нужны другие модули, которые вы хотите использовать в своем коде, и ваш модуль экспортирует все, что должно быть открыто для всех. Например:
var other = require('other_module');
module.exports = function() {
console.log(other.doSomething());
}
Для начала давайте инициализируем наш новый модуль, выполнив команду init
из утилиты npm. Эта команда задаст вам кучу вопросов, а затем запишет файл package.json
. Именно этот файл эффективно превращает ваш код в пакет.
npm init
Посмотрите, что содержит файл; это довольно удобочитаемо. Более подробную информацию и объяснение содержимого файла package.json можно найти по адресу https://npmjs.org/doc/json.html. Наша первоначальная версия выглядит следующим образом, но мы будем обновлять ее по ходу дела.
{
"name": "ZWebNode",
"version": "1.0.0",
"description": "A node Web application example",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Helder Rossa <[email protected]>"
}
Основной файл скрипта
Основной файл сценария обычно является отправной точкой модуля Node.js. По умолчанию имя скрипта index.js
. В этом примере мы назвали его server.js
, потому что файл запустит наш сервер тестирования разработки. Позже в статье мы это реализуем.
Требования к модулю
В этом примере нам потребуются некоторые модули для создания веб-сервера для обслуживания наших файлов. Но есть и другие модули, и вы даже можете создать свой собственный веб-сервер без зависимостей модулей.
Итак, для нашего примера мы будем использовать Express. Давайте использовать это:
npm install --save-dev express
Приведенные выше команды также создадут папку node_modules
в каталоге вашего проекта, содержащую, в данном случае, зависимости Express. Следуя рекомендациям, мы хотим, чтобы папка node_modules
не попадала в репозитории VCS.
Переключатель --save-dev
указывает npm сохранить зависимость в файле package.json
.
"devDependencies": {
"express": "^4.12.3"
}
Использование Express для обслуживания файлов
Теперь мы можем приступить к написанию кода. Создайте файл server.js
для хранения кода веб-сервера. Это будет выглядеть примерно так.
var express = require('express'), http = require('http'), path = require('path'), app = express();
app.set('port', process.env.PORT || 9080);
// static files serving app.use('/', express.static(path.join(__dirname, '/static')));
var server = http.createServer(app);
server.listen(app.get('port'), function() { console.log('server listening on port ' + app.get('port')); console.log('>>> http://localhost:' + app.get('port') + '/'); });
И это все! Создайте каталог с именем static
и поместите туда статическое веб-содержимое (html, css, js и т. д.) и начните программировать.
Файл Readme
Всегда полезно включить некоторую документацию в свой проект, поэтому я добавлю README.md
, используя синтаксис уценки. Использование уценки — хорошая идея, потому что она будет хорошо отображаться как на Github, так и на npm.
ZWebNode ========
A Web application project using Node.js.
## Release History
* 1.0.0 Initial release
Отлично, проект завершен.