RequireJS和Backbone的整合

2021-06-27 05:36:41 字數 1510 閱讀 4284

這兩個輕量級的庫合起來使用確實能夠方便的構建大型應用程式。requirejs填補了前端模組化開發的空缺,backbone採用mvc的分層結構很好的將程式各個部分解耦。

backbone目前不支援amd(曾經支援過),那麼它只能作為普通的js檔案使用。它全域性的標示符是backbone,它還依賴於underscore,underscore的全域性標示是下劃線(_)。

因此,當我們使用amd方式寫的模組中使用backbone時,得確保underscore和backbone已經載入了。

requirejs 2.0後提供了乙個shim引數很好的解決了該問題。

示例目錄

js目錄中有underscore.js,backbone.js。其中cache.js不依賴於backbone,baserouter.js依賴。

index.html如下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

注意,require.config配置了shim引數,shim引數這裡有介紹。

baserouter內就可以把backbone當成amd模組來使用了。

1

2

3

4

5

6

define(['backbone','cache'],function(backbone, cache);

})

把目錄rb放到apache或其它web伺服器上,訪問index.html。

相關:rb-2012-6-8.zip

Requirejs常用配置和應用

requirejs require方法衝突 如果載入了多個requirejs指令碼,每個requirejs會判斷是否瀏覽器已經實現了require和define方法。如果瀏覽器已經自帶require和define方法,或者之前已經有乙個requirejs指令碼執行,那麼這個requirejs就會立刻...

RequireJS和Backbone的整合

這兩個輕量級的庫合起來使用確實能夠方便的構建大型應用程式。requirejs填補了前端模組化開發的空缺,backbone採用mvc的分層結構很好的將程式各個部分解耦。backbone目前不支援amd 曾經支援過 那麼它只能作為普通的js檔案使用。它全域性的標示符是backbone,它還依賴於unde...

關於requirejs和grunt壓縮合併是否矛盾

requirejs主要是為了模組化開發,這樣帶來的好處不言而喻。但是分成多個js檔案增加了請求數,那麼就要用到合併壓縮。合併壓縮了原來的許多獨立的js模組,那requirejs又是怎麼衝壓縮的檔案中找到各個獨立的模組進行載入的呢,感覺兩者有點衝突,這個問題想了很久也假想了很多可能。在知乎上找到了乙個...