文章目录

  • 前言
  • 区别一
  • 区别二
  • 参考链接

前言

在我们下载下来的API文件中可以看到里面包含了两个版本,一个是常用的标准版,另一个是压缩版。

如果到各自文件夹里面对比看的话,除了两个版本的init.js文件大小不一样外(压缩版小点,900多kb),其他文件大小一致。除了init.js文件大小不同的区别外,还有以下两个区别。

区别一

The compact build removes the dependency on the dijit namespace upon initial download, meaning that if you don’t need the dojo dijits they won’t be loaded. A side-effect of this is that a new info window and slider are provided.

压缩版把最开始dijit下面的一些依赖给移除掉了,这里的dijit指的是dojo框架自身的一些微件(控件),ArcGIS在dijit之上封装了一些常用微件如信息窗(infowindow)缩放条(slider)等。下面通过最简单的例子看一看。

标准版

<!DOCTYPE html>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/><title>Simple Map</title><link rel="stylesheet" href="https://js.arcgis.com/3.28/esri/css/esri.css"><style>html, body, #map {height: 100%;margin: 0;padding: 0;}</style><script src="https://js.arcgis.com/3.28/"></script><script>var map;require(["esri/map", "dojo/domReady!"], function(Map) {map = new Map("map", {basemap: "topo",  //For full list of pre-defined basemaps, navigate to http://arcg.is/1JVo6Wdcenter: [-122.45, 37.75], // longitude, latitudezoom: 13});new esri.tasks.QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_Currents_World/GPServer/MessageInABottle");console.log("标准版,esri.tasks.QueryTask直接就可以用,因为在init.js里面提前就有了");});</script></head><body><div id="map"></div></body>
</html>

压缩版

<!DOCTYPE html>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/><title>Simple Map</title><link rel="stylesheet" href="https://js.arcgis.com/3.28compact/esri/css/esri.css"><style>html, body, #map {height: 100%;margin: 0;padding: 0;}</style><script src="https://js.arcgis.com/3.28compact/"></script><script>var map;require(["esri/map", "dojo/domReady!"], function(Map) {map = new Map("map", {basemap: "topo",  //For full list of pre-defined basemaps, navigate to http://arcg.is/1JVo6Wdcenter: [-122.45, 37.75], // longitude, latitudezoom: 13});new esri.tasks.QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_Currents_World/GPServer/MessageInABottle");console.log("压缩版,esri.tasks.QueryTask也可以用,不过是init.js里面某行代码require触发的,而不是直接把QueryTask类的代码拷贝了一份放到了init.js");});</script></head><body><div id="map"></div></body>
</html>

可以很明显的看出来,init.js文件大小不一样,而且同一个加载地图的功能,压缩版明显加载的js文件数更多。就是因为压缩版为了减小init.js的体积,把里面的一些依赖给移除掉了。

区别二

The compact build includes less modules than the standard build. If your application requires objects from modules not included in the compact build you will need to load them using require(). For example, if you want to perform geoprocessing with the compact build you will need to add the following require() statement to your application.
require([“esri/tasks/Geoprocessor”, … ], function(Geoprocessor, … ){ … });
These two features reduce the size of the build significantly. Less JavaScript code to execute means less work the browser has to do.

这个说的是比起标准版,压缩版里面包含了更少的模块。比如说esri/tasks/Geoprocessor,这个在压缩版中是没有事先引入的,你必须通过require手动引入。其实这条跟没说差不多,因为我并不知道哪些是事先已经引入的,用的时候为了保险我只能先手动require进来。

参考链接

https://developers.arcgis.com/javascript/3/jshelp/intro_accessapi.html#compact-build

ArcGIS API for JavaScript压缩版(compact)与标准版的区别相关推荐

  1. 在移动设备中创建ArcGIS API for JavaScript地图应用程序

    本教程将演示如何通过响应式移动专用布局窗口小部件创建移动友好的webapp 1.支持的设备 这个模板支持安卓和IOS横向和纵向姿态,它使用Dojo Mobile框架并包含Dojo标题窗口等小部件. 2 ...

  2. Arcgis api for Javascript + arcgisServer + arcSDE笔记(1)

    最近要搞的项目要用Arcgis api for Javascript做地图模块,自己开始学相关的技术.这是之前整理的笔记,现在传到博客上,也作为学习的记录 0 环境搭建 Arcgis软件统一使用10. ...

  3. ArcGIS API for Javascript学习

    一.ArcGIS API for Javascript 介绍 ArcGIS API for Javascript 是由美国 Esri 公司推出,跟随ArcGIS 9.3 同时发布的,是Esri 基于d ...

  4. arcgis api for JavaScript _跨域请求

    arcgis api for JavaScript  中出现跨域请求是常见问题, 通常出现类似如下错误消息类似: XMLHttpRequest cannot load http://10.32.2.7 ...

  5. 基于ArcGIS API for JavaScript加载天地图

    文章目录 前言 效果图 详细代码 总结 参考链接 前言 该篇主要介绍如何用ArcGIS JS API加载天地图,具体应用场景以及需求分析等,在上篇基于ArcGIS API for JavaScript ...

  6. 基于ArcGIS API for JavaScript加载百度各种类型切片地图

    文章目录 应用场景 需求分析 效果图 实现代码 原理解读 应用场景 部分项目基于ArcGIS平台,但是甲方只提供部分矢量数据,用作底图的地形图数据没有,表示可以使用百度地图作为底图.所以才会有使用Ar ...

  7. ArcGIS.Server.9.3和ArcGIS API for JavaScript实现Identify功能(六)

    目的: 1.ArcGIS.Server.9.3和ArcGIS API for JavaScript实现Identify功能,鼠标点击后获取被点击对象的然后以infoWindow的方式显示点击对象的属性 ...

  8. 初学ArcGIS API for JavaScript

    初学ArcGIS API for JavaScript 对于初学者来说,关于esri提供的一些样式和dojo自带的一些样式还是需要有一定的了解,这块在<WebGIS开发从基础到实践>讲解的 ...

  9. ArcGIS API for JavaScript Bookmarks(书签)

    说明:本篇博文介绍的是ArcGIS API for JavaScript中的 Bookmarks(书签) ,书签的作用是,把地图放大到一个地方 添加书签,书签名称可以和地图名称一直,单击标签 地图会定 ...

最新文章

  1. iOS 数组中的模型去重
  2. Datawhale x 科大讯飞 iFLYTEK A.I.开发者大赛重磅开启!
  3. 西瓜书第二章 模型评估与选择
  4. 使用MASM03 - Win32汇编语言011
  5. 微软职位内部推荐-SW Engineer for Skype
  6. 基于jQuery可悬停控制图片轮播代码
  7. 发现一个骨灰级图形学大神的博客
  8. 前端 chrome查看html样式基本操作
  9. js aop 拦载实现
  10. how to find data source of F4 help in web client UI
  11. 20220227:力扣第282场周赛(上)
  12. java 对象的初始化_java 类和对象的初始化
  13. wcf 双向 java_我的WCF之旅 (11): 再谈WCF的双向通讯-基于Http的双向通讯 V.S. 基于TCP的双向通讯...
  14. 12生肖年份c语言,12生肖在什么年份最好运
  15. IDA 中怎么查看函数的调用关系
  16. 【管理学视频课程】关键链的本质--…
  17. 用python动态演示照片立方体_3分钟在线演示用 python 生成分形图片
  18. C语言中||和能同时出现在一条语句中吗?
  19. 【9007】最短路径
  20. Linux ARP 代理专题

热门文章

  1. Hadoop MapReduce程序的模板框架
  2. Python基础教程(三):运算符、条件语句
  3. 编程之美-重建二叉树方法整理
  4. Python Argparse模块
  5. protobuf编码
  6. codeforces732D Exams(二分)
  7. activiti监听器使用
  8. 将 Mac OS X 上的目录挂载到 Linux 的方法
  9. 有线网卡和无线网卡同时上网 优先级切换的设置方法
  10. 可恶的.NET FRAME,将一切变得更简单,还是更复杂?