CommonJS
Зависимости
В CommonJS все статические зависимости require()
должны подключаться сверху. Эти require()
обработается на этапе сборки, а не на этапе исполнения. Вебпак заменяет их на код из соответствующих файлов.
А вот require.ensure()
— это уже другое дело. Он сработает тогда, когда потребуется.
// Плохо. При сборке все равно require будет заменен кодом из модуля:
var favorite = {
init: function() {
this.initLazyImages();
},
initLazyImages: function() {
// Такой код сложно читать. Лучше сохранить зависимость в переменную и потом ее вызвать:
require('../../common/js/lazy.js')();
}
};
//Хорошо. Сразу ясно, от какого модуля зависим, код стал понятнее после введения переменной lazyLoad.
var lazyLoad = require('../../common/js/lazy.js'); // Сохраняем зависимость в переменную для последующего вызова:
var favorite = {
init: function() {
this.initLazyImages();
},
initLazyImages: function() {
// Теперь код стал проще и понятнее:
lazyLoad();
}
};