- 根据组件自身模块所需导入相应的模块
- tmpModuls为esri模块数组
- callback为返回调用
import * as esriLoader from 'esri-loader'
export const loadEsriModules = (tmpModules: any, callback: Function) => {
if (!tmpModules.includes('esri/config')) {
tmpModules.unshift('esri/config')
}
esriLoader.loadCss('css地址')
esriLoader
.loadModules(tmpModules, {
css: true,
url: 'init.js地址',
})
.then((args) => {
let modules = {}
for (let k in args) {
const name = tmpModules[k].split('/').pop()
modules[name] = args[k]
}
if (callback) {
modules.config.fontUrl = '字体地址'
callback(modules)
}
})
}