Dojo Toolkit(如下簡稱dojo)是一個javascript語言實現的、跨瀏覽器的DHTML(Dynamic HTML)工具包。Dojo ToolKit包括了構建大規模Ajax驅動的web應用程序所須要的一切。因此,你也能夠把他當作是一個Ajax庫,但它不單單是個ajax庫。javascript
dojo功能遠比你想象的要強大,幾乎可以知足你開發web應用時所須要的。固然,dojo的學習難度比較大,可是一旦你掌握了它,你會發現使用dojo來開發應用原來是這麼方便和駕輕就熟。html
Dojo大體能夠分紅dojo、dijit、dojox這三個包(Package)。java
dojo包是dojo toolkit的基礎,它包含了整個框架最基礎的部分,包括Ajax基礎、事件等。web
dijit包裏面包含了基於模板的佈局組件(widget)類。如對話框日曆、樹等。ajax
dojox(dojo eXtensions)是一個擴展區,提供了更加絢麗的組件和一些新奇的組件,很強大!瀏覽器
下圖是dojo的文件夾目錄:app
若是你只須要dojo的ajax與事件操做,徹底能夠不使用dijit和dojox。框架
Dojo中的功能是模塊化的,這樣便於管理。它包含了上百個包,這些包分別位於dojo、dijit、dojox這三個一級命名空間下。因此在使用時咱們一般按需加載。異步
下圖是一些經常使用包。這些包分佈在不一樣文件夾裏。ide
每一個包裏面有不少的類,能夠實現一些特定功能。
異步模塊加載不用在html中嵌入<script>標籤來加載javascript,而是在javascript代碼中加載。
加載方法有幾種:
傳統的dojo.require()/dojo.provide()
Dojo異步模塊加載器AMD格式,define()
require()直接加載
代碼以下:
下載dojo框架(http://dojotoolkit.org),並解壓放到網站某個能訪問的目錄下,好比你放到了(wwwroot)/下,裏面的dojo目錄包含dojo、dijit、dojox三個目錄。這樣就能夠了嗎?是的!就是這麼簡單。不過之後可能涉及包路徑問題,這個在後面會推薦一個比較好的開發模板。
這個例子中只須要新建一個html文件就能夠了,引入必要的dojo.js(這個根據你把dojo框架放哪來定)。
首先在html裏引入dojo.js文件,這個js文件是必須包含的,並且在整個框架你甚至只要在html裏包含這一個js文件。require用來以AMD模式加載其餘包,但這裏面咱們沒有用到其餘包,因此比較簡單。byId函數式屬於dojo命名空間下的函數,已經經過script標籤加載了。
require函數的使用:
require(
[「模塊1」,」模塊2」],
function(模塊1的別名,模塊2的別名)
/*……*/
});
上圖中,包含了app包中map類,其別名爲appMap。因此下面使用時不用寫完整的名字:app.map,只須要appMap。