Skip to content

Сборка API Карт

Andrey Geonya edited this page Jun 5, 2013 · 33 revisions

Возможности

Сборщик располагается в папке build и позволяет получить готовое приложение с необходимым набором плагинов и модулей, предоставляя интерфейс для кастомизации сборки через CLI/grunt, минификации, проверки кода на соответствие требованиям.

Конфигурация

  • config.js – Описание путей/настроек для скрипта
  • deps.js – Список зависимостей для модулей (Leaflet и DG)
  • hintrc.js – Настройки проверки JSHint

Проверка исходного кода с помощью JSHint

grunt lint

В случае ошибки показывает путь к файлу, номер строки, колонки и сообщение, например:

./src/ProjectDetector/src/ProjectDetector.js  line 13 col 23	 Missing space after ':'.
./src/ProjectDetector/src/ProjectDetector.js  line 17 col 13	 Missing space after ':'.
./src/ProjectDetector/src/ProjectDetector.js  line 18 col 13	 Missing space after ':'.

Сборка

Базовая команда, результатом которой будет максимально полная сборка API:

grunt build

Результат (файлы игнорируются git):

  • dist/dg-map-custom-src.js (исходный код)
  • dist/dg-map-custom.js (минимизированный код)

Cборка кастомного варианта API с указанием имён необходимых модулей:

grunt build -m Module1,Module2,Module3

где Module1,Module2,Module3 - имена модулей API.

Пример:

grunt build -m Core,TileLayer,JSONP

Cборка кастомного варианта API по заранее описаным пакетами:

grunt build -p build_name

где build_name - имя сборки. Доступные пакеты: base, standard, full, online. Описание пакетов находится в файле build/packs.js.

Пример:

grunt build -p base

Результат (файлы игнорируются git):

  • dist/dg-map-custom-src.js (исходный код)
  • dist/dg-map-custom.js (минимизированный код)

Для обновления полных публичных сборок (которые доступны в папке dist) выполните следующие команды:

grunt build -p public

Результат (файлы находятся в индексе git):

  • dist/dg-map-src.js (исходный код)
  • dist/dg-map.js (минимизированный код)
Описание вывода в консоль

При выполнении сборки весь процесс сопровождается выводом сообщений к консоль.

Пример:

Build modules:
  * Core
  * EPSG3395
  * TileLayer
  * TileLayerWMS
  * TileLayerCanvas
  * ImageOverlay
  * Marker
  * DivIcon
  * Popup
  * LayerGroup
  * FeatureGroup
  * Path
  * PathVML
  + Polyline (deps of PathCanvas)
  + Polygon (deps of PathCanvas)
  + Circle (deps of PathCanvas)
  * PathCanvas
  * MultiPoly
  * Rectangle
  * CircleMarker
  * VectorsCanvas
  * GeoJSON
  * MapDrag
  * MouseZoom
  + AnimationPan (deps of AnimationZoom)
  + AnimationZoom (deps of TouchZoom)
  * TouchZoom
  * BoxZoom
  * Keyboard
  * MarkerDrag
  * ControlZoom
  * ControlAttrib
  * ControlScale
  * ControlLayers
  * AnimationTimer
  * Geolocation
  + DGDivIcon (deps of DGCore)
  * DGCore
  * DGLayer
  * JSONP
  * ProjectDetector
  * Localization


Concatenating JS in 42 modules...

Concatenating CSS in 2 modules...

Compressing JS...

   Uncompressed size: 208.0 KB
   Compressed size:   116.6 KB

Compressing CSS...

   Uncompressed size: 15.4 KB
   Compressed size:   12.2 KB

Build successfully completed!

Запуск веб-сервиса для раздачи собранного АПИ

Запуск

node app

Результат:

Load source files successfully completed
Maps API 2.0 server listening on port 3000

После запуска приложение доступно по локальному адресу:

http://127.0.0.1:3000/

Конфигурация веб-сервиса описывается в файле https://github.com/yarikos/DG.MapsAPI/blob/master/config.main.json, в котором заданы настройки по умолчанию, для переопределения параметров по умолчанию необходимо создать файл config.local.json и переопределить нужные параметры, например: { "BASE_URL": "http://maps.api.2gis.local/2.0" }

Clone this wiki locally