ArcGis-使用esri-loader导入arcgisforjs的开发模块

524 阅读1分钟
  • 根据组件自身模块所需导入相应的模块
  • 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);
      }
    });
};