【導讀】html
關於如何在默認網站(Default Web Site,物理地址C:\inetpub\wwwroot\)啓動,已有不少博客詳盡地寫好了。web
本篇在自建網站(本機)中配置http而非https的jsAPI,jsAPI版本爲4.10。api
3.x的API也相似。服務器
// 如何打開IIS、如何建立網站請移步IIS教程,比較簡單,博客也不少,再也不贅述。網絡
如下爲自定義網站的信息列表:測試
以下:網站
其中,html文件僅有一個h1標籤:spa
<h1>Hello World</h1>
以測試網站有效性。3d
以下:code
由於是在本機本地環境測試,故IP地址選「所有未分配」便可。此處選擇http協議。
// 若是買了雲主機,且爲IP配置了域名,則主機名能夠填上域名,IP地址能夠填獲得的IP地址;本機測試請忽略此條。
建立站點完成並啓動後是這樣的:
將整個官網下載來的api壓縮包內的第一個文件夾解壓到D:\jsapi_lib\下:
(圖中箭頭表示拖拽解壓這一動做)
而後,尋找此解壓文件夾下的init.js和dojo.js,修改其中一段[HOSTNAME_AND_PATH_TO_JSAPI]字符串
[Note]
咱們注意到,這裏的baseUrl寫的是
- https://[HOSTNAME_AND_PATH_TO_JSAPI]dojo
這就表明,你要告訴整個api,它自己在當前web服務器的哪一個URL下能訪問,也就是api中dojo文件夾(在dojo中,又叫dojo模塊)的網絡地址(URL)。
因此這裏的baseUrl即dojo這個文件夾(通俗說法)的URL,至因而什麼,請接着往下看。
其中兩者的物理地址(也就是對於我這臺電腦的磁盤位置來講)
因此在超文本傳輸協議(http)下的網絡地址爲
由於本機未開啓https,因此init.js和dojo.js真正能被用的網絡地址爲:
不可貴出,實際上,http://localhost:1569即等價於 D:\jsapi_lib
爲何http://localhost:1569打開後就是index.html這個測試頁呢?
是由於IIS配置了默認文檔,打開此URL會安默認文檔列表的順序打開對應物理地址下的某一個文檔,這在第二節會說。
因此[HOSTNAME_AND_PATH_TO_JSAPI]即等價於
因此,dojo文件夾的網絡路徑即:
修改後的init.js和dojo.js以下圖所示:
而後重啓一下網站,在地址欄輸入init.js和dojo.js的網絡地址便可測試訪問api是否加載成功。
成功。
上節提到,在不指定某個文件的具體URL的狀況下,打開http://localhost:1569能默認打開其對應物理地址下的index.html文件,那麼
->若是打開http://localhost:1569要訪問的是dojo.js文件,這個需求如何解決?
就比如,訪問https://js.arcgis.com/4.10/,實際訪問的是https://js.arcgis.com/4.10/dojo/dojo.js同樣:
其實只須要配置網站的默認文檔便可。
IIS的網站有一個功能叫 默認文檔,在功能視圖下能夠找到:
而後,點進去配置默認文檔列表,越靠前的文件越被優先訪問,若是列表裏的文檔都沒有,就會出現403或者404界面~
這是我配置的:
顯然,這裏的dojo.js文件的路徑是相對路徑,相對於http://localhost:1569。
注意到index.html位於第五位,而dojo.js位於第一位,因此固然先訪問dojo.js
因此http://localhost:1569被訪問時,會自動尋找其物理地址下的arcgis_js_v410_api文件夾下的arcgis_js_api文件夾下的library文件夾下的4.10文件夾下的dojo文件夾下的dojo.js文件(真累啊)
以下圖:
=====本文測試環境爲Windows 10,Chrome 69,api版本爲4.10=====