网上有很多的本地部署ArcGIS API for JavaScript教程。
我翻译并简单修改了官网的部署教程(API解压后的install.html),整理如下。
准备工作
官网下载压缩包,然后解压后放置到要部署的web服务器上,可能是IIS、Tomcat或Nginx。
修改代码
- 打开文件
/var/www/html/arcgis_js_api/library/arcgis_js_api/library/4.15/dojo/dojo.js并检索[HOSTNAME_AND_PATH_TO_JSAPI], 然后用www.example.com/arcgis_js_api/library/4.15/替换. - 打开文件
/var/www/html/arcgis_js_api/library/arcgis_js_api/library/4.15/init.js并检索[HOSTNAME_AND_PATH_TO_JSAPI], 然后用www.example.com/arcgis_js_api/library/4.15/替换.
测试
现在应该能够从你的web服务器使用以下URL访问ArcGIS API for JavaScript:
1 | <script src="https://www.example.com/arcgis_js_api/library/4.15/dojo/dojo.js"></script> |
为了测试是否部署成功,可以使用下面的测试页面。
1 |
|
注意:1. 修改页面中的链接;2. 使用http或https协议,请勿使用file协议访问页面。
使用HTTP
如果你希望使用http来使用API,那么在修改代码步骤中,用http代替https,如,
修改前: baseUrl:"https://www.example.com/arcgis_js_api/library/4.15/dojo"
修改后: baseUrl:"http://www.example.com/arcgis_js_api/library/4.15/dojo"
字体跨域
在开发模式下,可能会出现字体跨域,导致微件上的图标无法显示。下面列举在不同服务器上通过允许跨域来处理。
IIS
打开IIS管理器
选中部署API的网站,找到HTTP响应标头和MIME类型
配置MIME类型
有下列的类型需要注册:extension MIME/typeDescription .ttfapplication/octet-streamTrue Type Fonts .wasmapplication/wasmWebAssembly .woffapplication/font-woffWeb Open Font Format .woff2application/font-woff2WOFF File Format 2.0 .wsvapplication/octet-streamSupports SceneView‘s stars visualization点击MIME类型,右键选择打开功能,然后右键选择添加。
配置HTTP响应标头
点击HTTP响应标头,右键选择打开功能,然后右键选择添加。
添加名称:Access-Control-Allow-Origin,值:*。
Tomcat
修改Tomcat配置文件,安装目录下的conf/web.xml。
按照官网说明在<!-- ================== Built In Filter Definitions ===================== -->之后增加一段配置。
1 | <filter> |
注意:当cors.allowed.origins设置为*时,cors.support.credentials不能设置为true。
Nginx
修改Nginx配置文件,
增加一行add_header Access-Control-Allow-Origin *;如,
1 | location /arcgis/api { |