# Сборка ## Используемые инструменты * npm: 4.x * node: 7.x Вы должны использовать `npm v4.x`, так как `$ grand pre-build` не работает в `v5.x`. ## Разработка Мы используем Webpack HMR при разработке Boostnote. Выполнение следующих команд в корне проекта запустит Boostnote с настройками по умолчанию. Установите необходимые пакеты с помощью yarn. ``` $ yarn ``` Соберите и запустите. ``` $ yarn run dev-start ``` Эта команда выполняет `yarn run webpack` и `yarn run hot` параллельно. Результат будет такой же, если вы выполните эти две команды раздельно. `Webpack` будет следить за изменениями в коде и будет применять их автоматически. Если возникает следующая ошибка: `Failed to load resource: net::ERR_CONNECTION_REFUSED`, пожалуйста, перезапустите Boostnote. ![net::ERR_CONNECTION_REFUSED](https://cloud.githubusercontent.com/assets/11307908/24343004/081e66ae-1279-11e7-8d9e-7f478043d835.png) > ### Примечание > В некоторых случаях вам необходимо обновить приложение вручную. > 1. При редактировании метода конструктора компонента > 2. При добавлении нового класса CSS (аналогично 1: Класс CSS перезаписывается каждым компонентом. Этот процесс выполняется в методе Constructor.) ## Деплой Мы используем Grunt для автоматического деплоя. Вы можете создать задачу, используя `grunt`. Однако мы не рекомендуем этого делать, так как задача по умолчанию включает в себя код и аутентификацию. Мы подготовили отдельный скрипт, который просто создает исполняемый файл: ``` grunt pre-build ``` Вы найдете исполняемый файл в папке `dist`. Обратите внимание: автоматическое обновление не будет работать, потому что приложение не подписано. Если вам необходимо, вы можете использовать код или аутентификацию с помощью этого исполняемого файла. --- Special thanks: Translated by @AlexanderBelkevich