-
Notifications
You must be signed in to change notification settings - Fork 34
Сборка API Карт
Утилита для сборки располагается в папке build и позволяет получить готовое приложение с необходимым набором плагинов. Помимо сборки с помощью CLI/grunt осуществляется минификация и проверка кода на соответствие соглашениям.
- build/config.js – описание путей/настроек для утилиты
- build/deps.js – список зависимостей модулей
- .jshintrc – настройки JSHint
grunt hint
В случае ошибки отображается путь к файлу, номер строки, колонки и сообщение, например:
Linting src/DGCustomization/src/DGPopup.js ...ERROR
[L13:C1] W015: Expected '=' to have an indentation at 5 instead at 1.
[L13:C1] E030: Expected an identifier and instead saw '='.
[L13:C2] W033: Missing semicolon.
grunt build
Результат (файлы игнорируются git):
- public/js/dg-map-custom-src.js (исходный js код)
- public/js/dg-map-custom.js (минимизированный js код)
- public/css/dg-map-custom-src.css (исходный css код без хаков для IE8)
- public/css/dg-map-custom-src-full.css (исходный css код c хаками для IE8)
- public/css/dg-map-custom-src-ie.css (исходный css код хаков для IE8)
- public/css/dg-map-custom.css (минимизированный css код без хаков для IE8)
- public/css/dg-map-custom-full.css (минимизированный css код c хаками для IE8)
- public/css/dg-map-custom-ie.css (минимизированный css код хаков для IE8)
grunt build -m Module1,Module2,Module3
где Module1,Module2,Module3 - названия модулей API.
Например:
grunt build -m DGGeoclicker, DGLocation
grunt build -p package_name
где package_name - имя пакета. Список и описание доступных пакетов находится в файле build/packs.js.
Пример:
grunt build -p standard
grunt build -p public
Результат (файлы хранятся в git):
- public/js/dg-map-src.js (исходный js код)
- public/js/dg-map.js (минимизированный js код)
- public/css/dg-map-src.css (исходный css код без хаков для IE8)
- public/css/dg-map-src-full.css (исходный css код c хаками для IE8)
- public/css/dg-map-src-ie.css (исходный css код хаков для IE8)
- public/css/dg-map.css (минимизированный css код без хаков для IE8)
- public/css/dg-map-full.css (минимизированный css код c хаками для IE8)
- public/css/dg-map-ie.css (минимизированный css код хаков для IE8)
При выполнении сборки весь процесс сопровождается выводом сообщений к консоль.
Пример:
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
После запуска приложение доступно по адресу:
Конфигурация веб-сервиса описывается в файле config.main.json, в котором заданы настройки по умолчанию, для переопределения параметров по умолчанию необходимо создать аналогичный файл config.local.json и переопределить нужные параметры, например:
{
"BASE_URL": "http://maps.api.2gis.local/2.0"
}