Dojo 1 x 筆記1 入門

2022-01-20 06:34:05 字數 2111 閱讀 4638

dojo是個框架 ,是個js框架,現在除了這一點什麼都不知道,就這麼上手了。

ps:不建議web初學者看我的筆記,這個要有一定積累才能看。

在標籤內寫這麼一點**:

<

body

>

<

h1 id

="greeting"

>hello

h1>

<

script

src=""

data-dojo-config

="async: true"

>

script

>

body

>

按下f12,沒報錯,算是用cdn引用成功了dojo。

如果f12報錯無法訪問dojo.js,請到bootcdn引用,現在暫時不自己開本地伺服器引用,以後再說。

自1.7起,dojo就啟動了amd非同步模組定義的支援,原因是為了更好地支援大型複雜web程式。

可見,dojo是乙個重量級框架。

算是載入了dojo.js這個檔案後的兩個入口吧,是兩個全域性函式:define和require

上面提及,dojo支援非同步模組定義了,那麼define就能定義乙個模組,而requie就能用你定義的模組。

——有關為什麼用define和require這種奇怪的寫法,請閱讀

通常,模組是乙個簡單的js檔案。

以下通過簡單的html dom操作來演示define和require,dojo中操作dom的模組是'dojo/dom', 'dojo/dom-construct'兩個。

demo

doctype html

>

<

html

>

<

head

>

<

meta

charset

="utf-8"

>

<

title

>tutorial: hello dojo!

title

>

head

>

<

body

>

<

h1 id

="greeting"

>hello

h1>

<

script

src=""

data-dojo-config

="async: true"

>

script

>

<

script

>

require(

['dojo/dom',

'dojo/dom-construct'],

function

(dom, domconstruct)

);script

>

body

>

html

>

我換掉了cdn引用,這樣會快一些。

可見html文字改變了,引用了dom和dom-construct兩個模組後,就能用dom.byid這個方法和domconstruct.place這個方法進行dom操作了。

**解釋

require有兩個引數。

第二個是**函式。**函式的引數就是以上引入的模組。**函式的引數的名字可以自定義,但是順序是和第乙個字串陣列的模組順序一致的。

由於amd機制和非同步操作,這就意味著,等待模組載入完成後,**函式才會正式運作,但是這是自動的,在後台自己做完一切。大可不必管交叉呼叫js檔案和模組的問題,amd機制自己會在後台完成模組之間的交叉呼叫問題。

理解非同步操作、js模組化,是dojo學習中相當重要的。與普通的js框架不同,dojo更合適開發複雜的大型web平台。

有興趣的同學可以學習一下es6的模組化程式設計,或者學習一下npm+webpack這種新型的後端寫法,node.js也是可以看看的。

目前只學到這裡,暫時還是雙擊開啟html檔案檢視**成果,下乙個筆記就要用本地伺服器開啟了,可以用iis,也可以用xampp,無所謂。

暫時等這種靜態寫法學完後,就試著用npm包管理機制寫一寫試試,混搭vue什麼的。

Dojo 1 x 筆記4 文字動畫效果

這個筆記,僅僅演示dojo fx模組的slideto 方法的簡單使用。有關該模組的用法,見api 有關dojo的動畫 效果,見頁面 效果 和 動畫 html部分同筆記3,js部分如下 如果不想看,直接抽取關鍵 fx.slideto play fx模組呼叫slideto方法,傳參是乙個object,o...

Dojo 1 x 筆記3 等待DOM載入完成

有的web頁面總是得等dom載入完成才能繼續執行功能,例如,待頁面dom載入完成後,才能在div上進行渲染圖形。dojo提供了這個功能的模組,叫domready,但是由於它很特殊,就在結尾加了個嘆號 這個例子很簡單,就直接在script裡寫js 了 html部分 h1 id greeting hel...

Dojo學習筆記1

一 dojo類包包括 dojo.collections 資料集合如 list,queue,set,stack,dictionary dojo.crypto 各種加密api如 blowfish,md5,rijndael,sha dojo.date 日期類,可以很方便的顯示各種日期格式 dojo.dnd...