网上有很多的本地部署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/type
Description .ttf
application/octet-stream
True Type Fonts .wasm
application/wasm
WebAssembly .woff
application/font-woff
Web Open Font Format .woff2
application/font-woff2
WOFF File Format 2.0 .wsv
application/octet-stream
Supports 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 { |