ArcGIS API for Javascript最方便的部署方式(懒人部署方式)
来源:互联网 发布:在淘宝店上怎样上图 编辑:程序博客网 时间:2024/06/06 03:19
关于ArcGIS API for Javascript 的部署,网上有很多资料,官方也有。很简单
第1步、下载ArcGIS APIfor Javascript,好像现在官网的下载不了。网上很多资源,可以去下载。
这里我下载的是3.17
说明:最好下载稍新一点的,以适应当前新的浏览器。(例3.5对ie11不兼容,鼠标滚轮放大缩小失控。)
第2步、以IIS为例,将下载下来的api放到想要的路径中。注意下载下来的api可以路径很深,可以只取api有用的文件夹。
IIS路径:
第3步:打开3.17下的install_win.html页面(以windows为例)。查看js文件路径配置说明。
官方的说明中都说的很清楚了,就是修改4个js文件中的路径。
问题:依官方的说法,我们只是给api固定1个访问路径。如果访问路径有变化,域名更替什么的。你只能乖乖再改一次路径。或者需要同时兼容内外网不同路径访问时。这现起来比较困难,可能需要部署两个api。再是api部署服务器迁移时,每次都要去改这4个路径。很麻烦。
(最新有个项目,一会部署到这个服务器、一会部署到另一个服务器;客户服务器为政务网,而具需要内外网两种模式兼容,内外网完全隔离的;按原方法部署可能要部署两个)
解决:这里有个方法可以实现一次性解决所有以上问题。
首先我们在这4个js文件的前面都加上以下代码:
(代码摘自: https://github.com/fsjohnhuang/getCurrAbsPath/blob/master/lib/getCurrAbsPath.js )
(function(exports) {
var doc = exports.document,
a = {},
expose = +new Date(),
rExtractUri = /((?:http|https|file):\/\/.*?\/[^:]+)(?::\d+)?:\d+/,
isLtIE8 = ('' + doc.querySelector).indexOf('[native code]') === -1;
exports.getCurrAbsPath = function() {
// FF,Chrome
if (doc.currentScript) {
returndoc.currentScript.src;
}
var stack;
try {
a.b();
}
catch (e) {
stack =e.fileName || e.sourceURL || e.stack || e.stacktrace;
}
// IE10
if (stack) {
var absPath= rExtractUri.exec(stack)[1];
if (absPath){
return absPath;
}
}
// IE5-9
for (var scripts = doc.scripts,
i = scripts.length - 1,
script; script = scripts[i--]; ) {
if(script.className !== expose && script.readyState === 'interactive') {
script.className = expose;
// if less than ie 8, must get abs path by getAttribute(src, 4)
return isLtIE8 ? script.getAttribute('src', 4) : script.src;
}
}
}();
} (window));
例:
然后我们把官方的baseUrl改进一下:
原:baseUrl:(location.protocol ==='file:' ? 'http:' : location.protocol) + '//' +"localhost/3.17/3.17/dojo"
改:baseUrl:getCurrAbsPath.replace("/"+getCurrAbsPath.split("/").pop(),"") + "/dojo"
大功造成。
注:getCurrAbsPath为得到当前js的引用路径。
getCurrAbsPath.replace("/"+getCurrAbsPath.split("/").pop(),"")后面要按的路径需要根据当前js文件路径修改。
SDK:SDK可以直接放api要目录下方便查看。
下载的SDK:
IIS:
附:ArcGIS_JS_Api3.17免配置包(含SDK):
链接:http://pan.baidu.com/s/1slbdEmL
密码:6fm5
- ArcGIS API for Javascript最方便的部署方式(懒人部署方式)
- ArcGIS API For JavaScript部署
- ArcGIS API for JavaScript 本地部署
- ArcGIS Server for JavaScript api安装部署
- ArcGIS Server for JavaScript api安装部署
- ArcGIS Server for JavaScript API安装部署
- Arcgis api for javascript本地部署
- ArcGIS api for JavaScript 部署注意事项
- ArcGIS API for JavaScript离线部署
- 本地部署ArcGIS API for JavaScript
- ArcGIS API for JavaScript 本地IIS部署
- Arcgis api for javascript 详细部署
- arcgis api for javascript 4.0 安装部署
- 离线部署arcgis api for javascript
- Arcgis API for Javascript本地部署
- 离线部署ArcGIS API for Javascript
- ArcGIS API For Javascript之离线部署
- Arcgis for javascript api 本地部署
- 编译项目时OwinStartup冲突的解决办法
- 1.2 大型网站架构演化发展历程
- 白话阿里巴巴之Java开发规约
- 如何在Struts2中获取spring的实例化对象
- phpcms后台登陆后总提示超时
- ArcGIS API for Javascript最方便的部署方式(懒人部署方式)
- 使用validator-api来验证spring-boot的参数
- 深入浅出开源性能测试工具Locust(使用篇)
- 蓝桥杯决赛之方块填数
- ORA-22992: 无法使用从远程表选择的 LOB 定位器
- TCP关于键盘输入及缓冲区问题
- 第4章 选择
- js基础正则表达式细解
- C++ String 相关函数