什么是Dojo
Dojo是一個非常強大的面向對象的JavaScript的工具箱, 建議能夠去復習一下JavaScript下如何使用OO進行編程的, 這對于你以后閱讀Dojo Source有很大的用處。
請下載dojo 0.3.1, 以下的說明均針對此版本
1: 把Dojo加入到我們的Web程序中
1.1 標志
| <script type="text/javascript"> djConfig = { isDebug: false }; </script> |
djConfig是Dojo里的一個全局對象, 其作用就是為Dojo提供各種選項, isDebug是最常用的屬性之一, 設置為True以便能夠在頁面上直接看到調試輸出, 當然其中還有些屬性與調試有關, 這里就不啰嗦了。
1.2 引用 dojo 的啟動代碼
| <script type="text/javascript" src="/yourpath/dojo.js" /> |
這樣你就引用了dojo的代碼, 并可以直接使用其中部分常用的對象, 下載下來的dojo.js是壓縮(remove comments and space)后的代碼, 要閱讀的話,建議閱讀dojo.js.uncompressed.js, dojo.js大概有127K, 而未壓縮前有211K, ok, 為什么會這么大呢, 原來其已經把部分常用的模塊整合進dojo.js里, 因此顯得大了一點, build.txt里就說明了默認的dojo.js包含了哪些模塊。
1.3 聲明你所要用到的包
| <script type="text/javascript"> dojo.require("dojo.math"); dojo.require("dojo.io.*"); dojo.require("dojo.widget.*"); </script> |
你就把這些代碼當成是java的import語句或C#中的using語句一樣, 如果你不require的話, 而模塊本身又沒有整合在dojo.js中, 是會出現腳本錯誤的喔。
2. 針對不同需求提供的預整合包
Dojo本身是由許多模塊所組合而成的, 但是由于用戶需求的多樣性, dojo針對不同的需求而提供了不同的版本, 用戶在下載dojo的時候就看見可以選擇很多的版本, 比如Ajax版和Widget版, 每個版本最重要的區別就在于dojo.js文件, 但是除此之外, 每一個版本都是全功能的, dojo.js根據版本的不同而整合進了不同的模塊
3. 直接獲取Dojo的最新源代碼
......
“模塊”的概念
Dojo的代碼被劃分為邏輯單元稱之為模塊, 這有點類似于Java中的package,除了dojo的模塊能夠包含類 (類似于java中的classes)和簡單函數,比如: 模塊"dojo.html"包含了一系列的函數, 比如dojo.html.getContentBox(), 模塊"dojo.dnd"包含了一系列的HtmlDragObject的類。注意名稱約定, 函數的首字母為小寫字母,類的首字母為大寫。模塊也可以稱之為"命名空間"
“包”的概念
在多數情況下, dojo的模塊只需要定義在一個文件就可以了, 但有時, 一個模塊可能劃分到多個文件, 比如: 模塊dojo.html, 本來是定義在一個文件中, 可是由于功能的增強, 文件逐漸變大, 我們不得不將其拆分為多個文件, 這主要是為性能考慮, 以便瀏覽器可以只下載其需要用到的代碼, 不幸的是其實現細節對于dojo的用戶看起來不那么透明, 你必須知道你想要用到的功能到底是包含在哪個文件, 然后才能require并使用它,這樣的每一個文件都稱之為一個包。
總結
- 上一篇: 成都哪儿有腊肉批发市场卖?
- 下一篇: 水果不甜缺什么肥?