Три мифа о Require.js
Так сложилось, что в большинстве своих проектов я использую Require.js.Более того, часто я пытаюсь поставить на путь истинный окружающих меня людей, всячески подталкивая их к использованию этой библиотеки.Именно поэтому я очень часто сталкиваюсь с мифами, которые каждый раз приходится разрушать для каждого собеседника: Из-за динамической подгрузки зависимостей (скриптов), и как следствие, огромного количества HTTP запросов, приложение с Require.js очень медленно запускается. Работа самой библиотеки требует слишком много памяти. В результате — приложение без Require.js будет работать намного быстрее. Описывать модули очень неудобно, наличие необходимости писать избыточный и непонятный код. Миф #1Описание Из-за динамической подгрузки зависимостей (скриптов), и как следствие, огромного количества HTTP запросов, приложение с Require.js очень медленно запускается.
Это самое распространенное заблуждение. Динамическую подгрузку зависимостей можно и нужно использовать во время разработки. На продакшне же, все это добро будет собрано в один js файл с помощью r.js и минифицировано с помощью uglify.js или ему подобным.Миф #2 Описание Работа самой библиотеки требует слишком много памяти. В результате — приложение без Require.js будет работать намного быстрее.
Работа requirejs на продакшне (без необходимости загружать зависимости дополнительными запросами) будет вовсе неощутимой.Миф #3 Описание Описывать модули очень неудобно, наличие необходимости писать избыточный и непонятный код.
Не нужно также забывать за возможность замены такого синтаксиса: define (['moduleA', 'moduleB', 'moduleC'], function (moduleA, moduleB, moduleC) { // use moduleA, moduleB and moduleC here return { // new module here }; }); таким: define (function (require) { var moduleA = require ('moduleA'), moduleB = require ('moduleB'), moduleC = require ('moduleC'); // use moduleA, moduleB and moduleC here return { // new module here }; }); Черновик этого поста создавался очень давно, до нынешней популярности Node.js. Но теперь использование синтаксиса require.js в JavaScript, похоже, стало более привычным.Думаю, многие уже давно для удобства завели себе сниппеты для использования конструкция require.js, что делает возможным в 2–3 клавиши создавать такие модули.
Бонусы от require.js