2015-06-15 1 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 дважды, это повлияет на размер файла моей окончательной сборки? Должен ли я определить глобальный объект material-ui в файле main.js?

Надеюсь, мой вопрос достаточно ясен. Я использую gulp для компиляции своего javascript.

ответ

1

Нет, браузер будет связывать его один раз.

Каждый файл будет обладать собственной областью, и каждый раз, когда файл требует другого, браузеру будет проверять, был ли уже включен нужный файл.

Таким образом, это не повлияет на размер файла вашей окончательной сборки.

+0

Обратите внимание: это относится только к одному файлу. Если у вас есть два разных объединенных актива, для которых требуется общий компонент, будут два разных экземпляра модуля – Tigraine