我正在構建一個相當複雜的angular.js應用程序的基本輪廓。由於在瀏覽器中支持cjs模塊,因此我這次選擇browserify over require.js。但現在唯一讓我難以理解的是browserify在同一個文件中捆綁每個'require'調用。因此,對於例如,如果我有模塊:使用帶角度的browserify
模塊 - (需要angular.js和jQuery)
模塊 - B(需要angular.js和jQuery)
什麼browserify需要做的是,它將在MODULE-A和MODULE-B中捆綁angular和jQuery,這將首先增加代碼庫的大小。當我嘗試與require.js進行比較時,顯然需要僅加載angular.js一次。那麼這是在性能和靈活性之間的一個已知折衷?
它是如何設想的?請對此作一些闡述。
我不明白的是,browserify如何能夠確定angular.js是否已經與其他模塊捆綁在一起,然後不會將其包含在其他模塊中 – beNerd
如果它真的被粘貼到t他另一個模塊的代碼(這打破了模塊的全部目的),那麼它就不會知道。但是如果它通過require()包含,那麼它可以跟蹤所有模塊和版本的 ,這樣可以避免重複。 (這可能不是它正在做的事情,但你明白了,如果你想確切知道它在做什麼,你可以閱讀源代碼。) – Trott