2015-06-15 72 views
2

假設下列文件:複製模塊加載與browserify

file1.js

var mui = require("material-ui"); 

module.exports = {//something} 

file2.js

var mui = require("material-ui"); 

module.exports = {//something} 

main.js

var file1 = require("./file1"); 
var file2 = require("./file2"); 

由於你可以看到我正在加載material-ui模塊兩次,這會影響我最終構建的文件大小嗎?我應該在我的main.js文件中定義一個'全局'material-ui對象嗎?

我希望我的問題很清楚。我使用gulp來編譯我的javascript。

回答

1

不,browserify會捆綁一次。

每個文件都會得到一個自己的作用域,每次文件都需要另一個文件,browserify會檢查是否包含了所需的文件。

所以它不會影響最終版本的文件大小。

+0

請注意,這僅適用於一個文件。如果您有兩個需要共享組件的不同捆綁資產,則會有兩個不同的模塊實例 – Tigraine