ArcGIS API for JavaScript 4.6 本地部署和使用nginx部署

说明:本人是一个gis小白,由于网上的资料过于专业,当时学习的时候经常看不懂,于是写了一些简单的关于ArcGIS Api for javaScript分享,若该分享中出现错误,希望大家指出,若能帮助到各位,不胜荣幸。

gis学习中经常需要刷新和重新加载,由于我的网速不快,再加上官网的国外的,如果一直使用官网的api的话会很影响效率,所以我们可以把api给部署到本地来

1.下载ArcGIS API for JavaScript 4.6.

   下载页面: https://developers.arcgis.com/downloads/apis-and-sdks?product=javascript

2.解压到自己服务器的目录下

3.配置init.js(\4.6\init.js) 和dojo.js(\4.6\dojo\dojo.js

  在这两个文件里面,查找baseUrl:"https://[HOSTNAME_AND_PATH_TO_JSAPI]dojo"

  修改为自己的路径  baseUrl: "http://+"getServerPath()"+/dojo"

   注意:此处我使用了getServerPath()这个方法获取路径,以后项目的路劲更改了可以直接更改getServerPath()

       附上getServerPath()的代码

function getServerPath() {
    //获取当前网址,如: http://localhost/GGFW/
    var curWwwPath = window.document.location.href;
    //获取主机地址之后的目录
    var pathName = window.document.location.pathname;
    var pos = curWwwPath.indexOf(pathName);
    //获取主机地址
    var localhostPaht = curWwwPath.substring(0, pos);
    localhostPaht = localhostPaht.replace('http://', '');
    //获取带"/"的项目名
    var projectName = pathName.substring(0, pathName.substr(1).indexOf('/') + 1);
    if (projectName == "")
        projectName = pathName;
    return (localhostPaht + projectName + "/4.6");
}

4.写测试代码的时候,这是特别注意的地方!!!

   官方提供的例子中,代码片段是这样:

<script src="https://js.arcgis.com/4.6/"></script>

需要改为:<script src="http://(wwwroot)/arcgis_js_v46_api/4.6/dojo/dojo.js"></script>

即官方例子调用的是init.js,本地部署调用的是dojo.js


由于ArcGIS API for JavaScript 4.6内容较大,若多个地方使用该文件,直接放入项目中显得沉重,

所以我们也可以使用nginx部署,这样所有项目都能引用这个api

1.将整个包放入nginx/html目录中

2.在nginx/conf/nginx.conf文件中的server{}里面加入

    location / {
        autoindex on;  
	index dojo.js;  
    }

如图

打开双击nginx.exe,访问“http:localhost:82/ ”,若能访问成功,则为发布成功

然后在页面中引用

<script src="http://localhost:82/esri/dojo/dojo.js"></script>

注意:/esri/dojo/dojo.js是我发布时的路径,也就是nginx中从html目录后面开始算起的路径直到dojo.js


在我学习这块内容中,https://blog.csdn.net/aganliang/article/details/79518107,这篇文章给了我很大帮助,本文也有部分采自该文,感谢该作者!也给大家分享一下该文章。
阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页