2015-06-21 190 views
0

我有一個小型自制的框架。我在幾個項目中使用它,我想以便於格式重用它。創建一個子模塊模塊

我想組織代碼如下:

  • 每個原型都有自己的文件
  • 每個文件是require.js模塊
  • 我想所有的文件在一個結合在一起運輸文件。

我已經使用r.js將所有文件組合在一起,但是如何從另一個不是組合文件的js文件中加載require(...)模塊?或者更詳細的,我想在另一個應用程序中使用組合文件中的模塊,該應用程序具有自己的模塊。

我的意思是,require.js預計每個文件只有一個模塊,我現在有N個模塊在一個文件中...

回答

1

你所描述的是bundles的選擇是什麼。以從the documentation一個例子:

bundles: { 
    'primary': ['main', 'util', 'text', 'text!template.html'], 
    'secondary': ['text!secondary.html'] 
} 

有了這個時候,如果你需要main從包外,和main尚未被加載,然後RequireJS會知道它會發現模塊main在同一個地方,模塊primary位於。

+0

是否可以將該bundle-config導出爲由r.js創建的優化和組合的js文件的一部分?這會使捆綁用戶不能自己定義配置。否則,捆綁用戶必須知道其內容。 – treeno

+0

幾個月前我遇到了必須爲我的一個項目生成這樣一個列表的問題,我不得不以半手動的方式來完成。 (不幸的是,我的解決方案不是一般的解決方案。)我不知道自動生成它的方法。 – Louis

+1

作爲捆綁的作者,我可以在我的情況下手動編寫。但我不希望捆綁包的用戶(可能是其他人)必須這樣做。所以,如果我可以在捆綁包itselfe中定義捆綁包,這樣會更好,以便用戶可以直接使用捆綁包中的moduleIds。 – treeno