arcgis在webpack中的运用

由于dojo自身带有模块加载的功用,会与webpack自身有争执,所以须要借助esriLoder。

装置

npm i esri-loader

运用esri-loader

esri-loader暴露了loadCss和loadModules两个要领,离别用来加载css和js文件。
引入

import { loadCss,loadModule } from 'esri-loader'

loadCss的运用

自动加载cdn上最新版本的arcgis的css

loadCss()

加载制订途径的arcgis的css

loadCss('http://115.29.42.107:8686/410/esri/css/main.css')

loadModules的运用

替代之前的dojo,传入须要的模块与设置项,返回一个promise对象,then中的参数为返回模块,示例:

import { loadModules } from 'esri-loader';
 
// if the API hasn't already been loaded (i.e. the frist time this is run)
// loadModules() will call loadScript() and pass these options, which,
// in this case are only needed b/c we're using v3.x instead of the latest 4.x
const options = { version: '3.28' };
 
loadModules(['esri/map'], options)
  .then(([Map]) => {
    // create map with the given options at a DOM node w/ id 'mapNode'
    let map = new Map('mapNode', {
      center: [-118, 34.5],
      zoom: 8,
      basemap: 'dark-gray'
    });
  })
  .catch(err => {
    // handle any script or module loading errors
    console.error(err);
  });

option已知设置项:

option = {
    version: 4.7, // 在线加载js时运用挑选版本号
    url: 'http://115.29.42.107:8686/410/init.js', // 制订途径加载arcgis的js,需指向init.js的途径
    dojoConfig: {  // 设置dojo
        baseUrl: config.dojoUrl  // 需指向dojo目次
    }
}

假如你是在线运用最新的无需设置,须要在线运用某个版本设置version

假如你布置js的api,须要设置url和dojoConfig。

    原文作者:张淼
    原文地址: https://segmentfault.com/a/1190000019421704
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞