IIS本地部署ArcGIS API for JavaScript 4.x并解决图标无法正常显示问题

  • 关于如何在默认网站(Default Web Site,物理地址C:\inetpub\wwwroot\)启动,已有很多博客详尽地写好了。

  • 本篇在自建网站(本机)中配置http而非https的jsAPI,jsAPI版本为4.15。

  • 如何打开IIS、如何创建网站请移步IIS教程,比较简单,博客也很多,不再赘述。

 

1.在D盘添加一个文件夹(jsapi_lib),验证iis访问可以访问(熟悉的可以不用这步)

在文件夹中写一个index的html文件(内容随意,用来测试)

2.找到iis管理器,先后建立应用程序池,和网站

之后用这个程序池建立网站

之后预览网页,看看是否显示你写的内容,如果显示就代表iis没有问题,可以进行下一步部署arcgis了

这是我设置的默认网页(代表成功,接下来讲api部署到这个路径下)

3.部署arcgis api (4.15版本为例,其他版本也类似)

将下载的api文件也放到刚才建立的路径下,然后,寻找此文件夹下的init.js和dojo.js,修改其中一段[HOSTNAME_AND_PATH_TO_JSAPI]字符串

将其改为“http://localhost/arcgis_js_v415_api/arcgis_js_api/library/4.15/dojo”(init.js和dojo.js都要改)

其中二者的物理地址(也就是对于我这台电脑的磁盘位置来说)

  • init.js:  D:\jsapi_lib\arcgis_js_v415_api\arcgis_js_api\library\4.15\init.js
  • dojo.js:  D:\jsapi_lib\arcgis_js_v415_api\arcgis_js_api\library\4.15\dojo\dojo.js

所以在超文本传输协议(http)下的网络地址

  • init.js:https://localhost/arcgis_js_v415_api/arcgis_js_api/library/4.15/init.js
  • dojo.js:https://localhost/arcgis_js_v415_api/arcgis_js_api/library/4.15/dojo/dojo.js

因为本机未开启https,所以init.js和dojo.js真正能被用的网络地址为:

  • init.js:http://localhost/arcgis_js_v415_api/arcgis_js_api/library/4.15/init.js
  • dojo.js:http://localhost/arcgis_js_v415_api/arcgis_js_api/library/4.15/dojo/dojo.js

不难得出,实际上,http://localhost即等价于 D:\jsapi_lib。

最后的路径改为:http://localhost/arcgis_js_v415_api/arcgis_js_api/library/4.15/dojo 

4.浏览器测试是否成功(出现这样了代表ok,保险起见,再在沙盒里更改地址测试下)

沙盒中测试ok--宣布本地部署ok,但是有一个问题,就是小图标都无法正常显示了

小图标都无法正常显示

5.在IIS中添加HTTP响应标头解决图标问题

在iis中找到HTTP响应标头

双击打开依次添加如下4个名称/值

Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:origin,x-requested-with,content-type
Access-Control-Allow-Methods:POST,GET,OPTIONS
Access-Control-Allow-Origin:*

最后重新启动IIS,清理浏览器缓存,重新打开页面就可以看到图标正常显示了(至此本地部署问题解决)。  

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韦_恩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值