![GitHub stars](https://img.shields.io/github/stars/nsc-open/esri-module-loader.svg?style=social&label=Stars)
esri-module-loader
This package is based on esri-loader.
install
npm i -S esri-module-loader
import EsriModuleLoader from 'esri-module-loader'
const { loadModules } = EsriModuleLoader
module value
A module value can be:
- a full module value is an object like
{ name: 'Map', path: 'esri/map' }
- or it can be a path string like
'your/path/to/module'
, which will be converted into { name: 'module', path: 'your/path/to/module' }
- and it also can be a module name defined in shortcuts, like
'Map'
load single module
loadModules(moduleValue).then(Module => {})
load multiple modules
To load multiple modules, you need an array of module values, like:
const modules = [
'esri/Color',
'Map',
{ name: 'Graphic', path: 'esri/graphic' }
]
loadModules(modules).then(({ Graphic, Map, Color }) => {
})
third party modules
needs extra dojo config:
loadModules(
[{ name: 'MyModule', path: 'my/Module'}],
{ dojoConfig: { packages: [ name: 'my', location: '/path/to/my' ] } }
).then(({ MyModule }) => {})
shortcuts
You can add your own shortcuts:
import EsriModuleLoader from 'esri-module-loader'
const { loadModules, shortcuts } = EsriModuleLoader
shortcuts.add('Map', 'esri/map')
shortcuts.add({ name: 'Map', path: 'esri/map' })
shortcuts.add([{ name: 'Map', path: 'esri/map' }, { name: 'Color', path: 'esri/Color' }])
loadModules(['Map', 'Color']).then(({ Map, Color}) => {
})
Most of esri official modules have been already added into the shortcuts. You can check the module list