-
Notifications
You must be signed in to change notification settings - Fork 34
Сборка API Карт
Сборщик располагается в папке build и позволяет получить готовое приложение с необходимым набором плагинов и модулей, предоставляя интерфейс для кастомизации сборки через CLI/grunt, минификации, проверки кода на соответствие требованиям.
- config.js – Описание путей/настроек для скрипта
- deps.js – Список зависимостей для модулей (Leaflet и DG)
- hintrc.js – Настройки проверки 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 ':'.
grunt build
Результат (файлы игнорируются git):
- dist/dg-map-custom-src.js (исходный код)
- dist/dg-map-custom.js (минимизированный код)
grunt build -m Module1,Module2,Module3
где Module1,Module2,Module3 - имена модулей API.
Пример:
grunt build -m Core,TileLayer,JSONP
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 (минимизированный код)
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
После запуска приложение доступно по локальному адресу:
Конфигурация веб-сервиса описывается в файле https://github.com/yarikos/DG.MapsAPI/blob/master/config.main.json, в котором заданы настройки по умолчанию, для переопределения параметров по умолчанию необходимо создать файл config.local.json и переопределить нужные параметры, например: { "BASE_URL": "http://maps.api.2gis.local/2.0" }