Отвечая на вопрос из заголовка вашего сообщения («Зачем мне нужны плагины ...»), а не тот, который находится в теле его («Я ищу способ загрузить мои шаблоны ... «). Может быть, кто-то еще придет и даст ответ на эту часть.
Как вы сказали, вы не нужны плагин для загрузки шаблона, даже если вы используете RequireJS для остальной части управления зависимостями. Тем не менее, есть несколько причин, почему с помощью built-in text plugin или выделенный плагин рулей (как тот, который вы связаны) могут быть полезны:
1 - Обрабатывать текст зависимостей такой же был, как и другие зависимости
Have плагин позволяет сказать, что данный фрагмент кода зависит от модуля а, модуль B, и шаблон X:
require(["moduleA", "moduleB", "text!templateX.html"],
function(moduleA, moduleB, html) {
// start working with all of it together
}
);
Но если вы не используете плагин, вы, вероятно, есть еще один слой обратного вызова:
require(["moduleA", "moduleB"],
function(moduleA, moduleB) {
$.ajax({
url: '../templates/templateX.html',
dataType: 'html',
cache: false,
success: function(data, status, response) {
// now do something
}
});
}
);
2 - позволяют фазы, в комплектации/Оптимизация
RequireJS кораблей с r.js optimizer, которые могут Bundle все зависимости вместе и преуменьшать их, чтобы уменьшить количество запросов и их общий размер загрузки.
Если вы используете плагин и синтаксис require/define для определения всех ваших зависимостей, r.js может отслеживать, что необходимо для модуля и связывать вместе. Таким образом, в этом примере я использовал выше:
require(["moduleA", "moduleB", "text!templateX.html"],
ModuleA, moduleB и templateX может быть сгруппирован вместе в одном файле, а не имеющие три отдельных запросов во время выполнения.
В подключаемом модуле Handlebars, я вижу, что некоторые из этих 400+ строк кода имеют дело с фазой связывания/оптимизации. И, как отметил в комментариях @Esailija, многие из других относятся к случаям краев и условиям ошибки.
Ну, ваш код обрабатывает только случай успеха (И имеет зависимость от 20 KLOC jQuery), 95% всего кода не для успеха, а ошибки. – Esailija
@ Esailija Я честно никогда не испытывал того, о чем вы говорите. Почему такой фокус на случаях ошибок, мой случай с ошибкой (ничего не отображать) или (мы не ___, идите сюда). – dezman
Хорошо, если вы используете библиотеку и получаете только белую страницу, потому что в библиотеке возникла ошибка, будет ли проблема легко найти? – Esailija