Q: Как запустить локальный веб-сервер для разработки?
A: Даже если приложение полностью клиентское, лучше его запускать на веб-сервере, потому что большинство современных браузеров по причинам безопасности не позволяют выполнять JavaScript-запросы к серверу, если страница загружена непосредственно из файловой системы.
На примере приложения angular-phonecat, надо выполнить команду:
npm start
Данная команда запустит локальный веб-сервер слушающий порт 8000. Открыть приложение можно по адресу: http://localhost:8000/app/index.html
Для того чтобы изменить IP-адрес или порт надо изменить скрипт "start" внутри package.json. Параметр -a используется для задания адреса, а параметр -p для задания порта.
Q: Как протестировать приложение?
A: Unit-тесты отвечают за тестирование маленьких изолированных частей приложения. Они находятся в папке test/unit. Unit-тестировщик Karma:
End to End тесты используются для того чтобы проверить приложение в целом. Например, что вьюхи отображаются и функционируют корректно. Тестирование проводится через имитацию пользовательского взаимодействия с реальным приложением работающем в браузере. End to End тесты находятся в папке test/e2e. В проекте angular-phonecat используется Protractor для запуска e2e-тестов. Protractor использует драйверы для взаимодействия с браузером, установить (установка проводится единожды) их можно командой: npm run update-webdriver
Т.к. Protractor взаимодействует с запущенным приложением, то предварительно надо запустить приложение: npm start
Protractor:
На примере приложения angular-phonecat, надо выполнить команды:
Q: Как установить инструментальные зависимости для приложения?
A: На примере приложения angular-phonecat, надо выполнить команду:
npm install
Эта команда считывает файл package.json и скачивает инструменты в папку node_modules.
sudo npm install -g ...
Например, для того чтобы установить Bower надо выполнить команду (для Windows без sudo):
sudo npm install -g bower
Потом можно будет запускать его напрямую: bower install
Запуск npm install автоматически использует bower для загрузки фреймворка Angular в папку app/bower_components.
Q: Как установить Node.js на Debian based дистрибутивы?
A: В Debian based дистрибутивах есть конфликт имен с другой утилитой node. Как вариант можно установить пакет nodejs-legacy, который переименует node в nodejs.
apt-get install nodejs-legacy npm
nodejs --version
npm --version
Для запуска разных версий node.js надо установить Node Version Manager (nvm).
Q: Как узнать версию Node.js?
A: node --version
A: Даже если приложение полностью клиентское, лучше его запускать на веб-сервере, потому что большинство современных браузеров по причинам безопасности не позволяют выполнять JavaScript-запросы к серверу, если страница загружена непосредственно из файловой системы.
На примере приложения angular-phonecat, надо выполнить команду:
npm start
Данная команда запустит локальный веб-сервер слушающий порт 8000. Открыть приложение можно по адресу: http://localhost:8000/app/index.html
Для того чтобы изменить IP-адрес или порт надо изменить скрипт "start" внутри package.json. Параметр -a используется для задания адреса, а параметр -p для задания порта.
Q: Как протестировать приложение?
A: Unit-тесты отвечают за тестирование маленьких изолированных частей приложения. Они находятся в папке test/unit. Unit-тестировщик Karma:
- считывает файл test/karma.conf.js;
- запускает Chrome и подключает его к Karma;
- выполняет все unit-тесты в браузере;
- отчитывается о результатах тестов в терминале/командной строке;
- отслеживает все JavaScript-файлы в проекте и перезапускает тесты, когда файлы изменяются.
End to End тесты используются для того чтобы проверить приложение в целом. Например, что вьюхи отображаются и функционируют корректно. Тестирование проводится через имитацию пользовательского взаимодействия с реальным приложением работающем в браузере. End to End тесты находятся в папке test/e2e. В проекте angular-phonecat используется Protractor для запуска e2e-тестов. Protractor использует драйверы для взаимодействия с браузером, установить (установка проводится единожды) их можно командой: npm run update-webdriver
Т.к. Protractor взаимодействует с запущенным приложением, то предварительно надо запустить приложение: npm start
Protractor:
- считывает конфигурационный файл test/protractor-conf.js;
- открывает Chrome и подключает его к приложению;
- выполняет все End to End тесты в браузере;
- отчитывается о результатах тестов в терминале/командной строке;
- закрывает браузер и выходит.
- npm test : start the Karma unit test runner
- npm run protractor : run the Protractor end to end (E2E) tests
- npm run update-webdriver : install the drivers needed by Protractor
Q: Как установить инструментальные зависимости для приложения?
A: На примере приложения angular-phonecat, надо выполнить команду:
npm install
Эта команда считывает файл package.json и скачивает инструменты в папку node_modules.
- Bower - client-side code package manager
- Http-Server - simple local static web server
- Karma - unit test runner
- Protractor - end to end (E2E) test runner
sudo npm install -g ...
Например, для того чтобы установить Bower надо выполнить команду (для Windows без sudo):
sudo npm install -g bower
Потом можно будет запускать его напрямую: bower install
Запуск npm install автоматически использует bower для загрузки фреймворка Angular в папку app/bower_components.
Q: Как установить Node.js на Debian based дистрибутивы?
A: В Debian based дистрибутивах есть конфликт имен с другой утилитой node. Как вариант можно установить пакет nodejs-legacy, который переименует node в nodejs.
apt-get install nodejs-legacy npm
nodejs --version
npm --version
Для запуска разных версий node.js надо установить Node Version Manager (nvm).
Q: Как узнать версию Node.js?
A: node --version