Форум программистов, компьютерный форум, киберфорум
Наши страницы
8Observer8
Войти
Регистрация
Восстановить пароль
Рейтинг: 5.00. Голосов: 1.

Heroku + Socket.io + TypeScript + Jasmine Specs + VSCode = Заготовка

Запись от 8Observer8 размещена 10.07.2019 в 15:45

Мой пример является заготовкой для разработки кооперативных и мультиплеерных игр.

Запустить рабочий пример в браузере: https://boilerplate-socketio.herokuapp.com/

Исходники на GitHub: https://github.com/8Observer8/boiler...-jasmine-specs

Пример может запускаться через 5-10 секунд, потому что бесплатной версии Heroku усыпляет веб-приложение если его некоторое время никто не запускал.

Моя заготовка включает в себя несколько версий клиентов (Pixi.js и Babylon.js) и сервер. Клиент подключается к серверу, который в ответ присылает JSON сообщение с приветствием.

Все команды по компиляции клиентов и unit-тестов в Debug, Release, а также команды по запуску unit-тестов для сервера и клиентов и т.д. вы найдёте в файле package.json

Если вы расположите мою заготовку на GitHub, то вы сможете очень просто подключить её к Heroku на вкладке Deploy созданного приложения. В этом случае, при каждом push ваши изменения тут же автоматически подхватит Heroku. Теперь на GitHub можно создавать закрытые (private) репозитории.

Перечислю, что умеет моя заготовка:
  • Добавлять новые клиенты, которые используют Socket.io. Сейчас в заготовке два вида клиентов: Pixi.js и Babylon.js
  • Собирать клиентов в Debug версию, используя компиляцию TS в AMD модули и подключение модулей с помощью библиотеки RequireJS. Debug версия позволяет выполнять TS код в пошаговом режиме и ставить точки останова используя расширение для отладки Chrome. А ещё Debug версия позволяет располагать примеры на TS, состоящие из нескольких файлов в песочнице Plunker, например (нажмите “Run Unit Tests” в левом верхнем углу): Is point inside a rectangle
  • Собирать клиентов в Release версию, используя компиляцию TS в CommonJS модули, создание bundle с помощь Browserify и создание минимизированной версии с помощью UglifyJS
  • Собирать Jasmine Specs (unit-тесты) в Debug версию, чтобы можно было ставить точки останова в unit-тестах. А ещё Debug версия unit-тестов позволяет запускать их в песочнице Plunker, как сделано в примере выше (нажмите “Run Unit Tests” в левом верхнем углу): Is point inside a rectangle
  • Собирать Jasmine Specs (unit-тесты) в Release версию, чтобы можно было запускать unit-тесты из браузера и чтобы они занимали мало места в минимизированной версии.
  • Писать Jasmine Specs для сервера и для shared-скриптов. Shared-скрипты - это скрипты, которые находятся в директории shared и используются, как сервером, так и клиентами. Отладка unit-тестов shared-скриптов сделана так же, как отладка unit-тестов серверных скриптов - через npm версию Jasmine.
  • Запускать одновременно сервер и клиент в отладочном режиме, чтобы можно было одновременно ставить точки останова на сервере и на клиенте. Этот режим обеспечивает VSCode, см. документацию: Compound launch configurations
Миниатюры
Нажмите на изображение для увеличения
Название: BabylonJSClient.png
Просмотров: 21
Размер:	8.2 Кб
ID:	5456  
Размещено в Без категории
Просмотров 117 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru