2013-10-09 50 views
0

我正在使用require.js構建庫。它有許多公共(由圖書館用戶記錄和訪問)和私人(僅在圖書館內使用)模塊。 這是我想在rjs優化期間實現的:使用require.js構建帶有公共和私有模塊的庫

  • 將我的代碼壓縮成儘可能少的文件;
  • 所有公共模塊必須可以在單個文件中訪問;
  • 不應該在文件之間複製任何代碼。

假設我有模塊A,B,C和D. A和B是公共的,都依賴於C. C依賴於D,但C和D都不是公共API的一部分。我想RJS創建以下文件:

  • A.js - 包含模塊
  • B.js - 含有B模塊
  • C.js - 包含C和d模塊

有一種方法可以在RJS配置來實現這一目標:

"modules": [ 
    { 
     "name": "A", 
     "exclude": ["C"] 
    }, 
    { 
     "name": "B", 
     "exclude": ["C"] 
    }, 
    { 
     "name": "C" 
    } 
] 

然而,這需要我在模塊之間保留所有依賴的軌道,一個d隨着庫大小的增長,配置文件變得容易出錯並且難以維護。有沒有辦法只是指定一個沒有依賴關係的公共模塊列表,並期望上面描述的行爲?

回答

0

您可能會對Require.JS 2.1.10中的新功能感興趣:bundles。 http://requirejs.org/docs/api.html#config-bundles

+0

聽起來像一個有趣的功能,但是,它仍然不能讓我無需跟蹤配置文件中的依賴關係。我也可以將所有模塊放入一個包中,但我只想加載我需要的模塊。 – Dremora