目录
IIS下部署本地离线arcgis api for javascript(最简单最有效的方式)
IIS下部署本地离线arcgis api for javascript(最简单最有效的方式)
使用ESRI进行WebGis前端开发都需要调用Arcgis api,现在这应该算是GISer的必备技能,也算行业主流(虽然现在开源的都很多,但是不会arcigs开发算不上一个合格的入门级GISer),但是使用在线的arcgis api 服务最大的问题就是不稳定,响应慢,所以几乎都在自己在本地离线部署。
本地部署不管是在tomcat下面还是IIS下面其实主要过程都差不多,但是确实困扰了不少刚刚入门的Giser开发者们,经常有人问我,为啥部署的就说访问不了,全部都是按照网上的流程啊。实际上访问不了最有可能出现问题的地方就是路径不对,今天就以IIS环境下,讲一个最简单、最有效、最易理解、最通用的部署方式,简化路径。
一、部署前准备
1、IIS是通的吧。
按win键 ,输入IIS 如果能找到IIS工具,就可以,没有的话,百度下如何开通IIS服务
2、下载arcgis api离线包
官网荡不下来的,再提供一个我自己下载的百度网盘的链接(arcgis api 4.15):
链接:https://pan.baidu.com/s/12jktrIRjzKspAOeGR7E9FQ
提取码:ijmz
二、Arcgis api 设置
1、简化路径
刚刚说了,部署报错最大的原因都是路径问题,那么就简化路径。
下载一个arcgis api解压后,按照这个路径往下点:
2、提取api
找一个位置,新建一个文件夹命名4.15,把上图4.15文件夹单独给考出来。知道IIS虚拟路径的随便放,不知道设置虚拟路径的,在C:\inetpub\wwwroot路径下新建4.15文件夹放到这里。
3、设置init.js和dojo.js访问路径
这个和网上说的差不多,设置init.js和dojo.js的访问路径。但是设置方式我觉得网上的那些比较麻烦,也不便于替换。
3.1 找到init.js和dojo.js。路径截个图大家自己对号入座。
3.2修改init.js调用路径
打开init.js文件:
搜索 " HOSTNAME "这个关键字,找到680行左右的这个:
把baseUrl后面的地址全部干掉,换成mybaseUrl,如下图:
在最前头,添加如下一句代码(这里是决定能否成功很大的一个关键因素,很多人不明白为啥部署好了API,自己可以使用,别人使用为啥报404错),设置一个全局变量。这样整的好处就是下次再改地址不用到处找这个地址,直接再最上面第一句话。
var mybaseUrl="http://localhost:8022/4.15/dojo";
//这里需要注意如果本机已经绑定固定IP最好设置成本机固定IP,
//如果不是固定IP的计算机,只能用localhost或者计算机名,但是用localhost或计算机名的都只能本机访问,也就是你部署的系统别人是用不了的,只能本机测试用。
//如果部署到外网服务器上的直接整成外网服务器固定IP地址即可
//端口可以随意改,只要不冲突就行,端口和IIS上发布arcgis api 的端口要保持一致(特别重要)
3.3 修改dojo.js调用路径
dojo.js修改的地方跟init.js一模一样。重复上面的操作。
三、IIS下发布
设置好上面的调用路径后,就可以再IIS下发布服务了。打开IIS
四、测试通了没
打开浏览器,输入地址能获取到说明部署没问题,下图中两个路径一致,则前端就可以正确调用Arcgis API了。
五、使用
js地址和css样式地址:
js:'http://localhost:8022/4.11/init.js',
css: "http://localhost:8022/4.11/esri/css/main.css",
//备注:再次说明一下,我是因为机器没有绑定固定iP只能使用localhost,要是绑定固定IP了,应该使用固定IP地址,这样外网才可以访问
六、最重要一步
写的很详细,每步基本都截图标注了,大家解决了问题,记得给我留个言,点个赞,别爽完了,就跑啊。有问题的也欢迎留言交流。