Я работаю над небольшой библиотекой JS, которая требует jQuery и Raphael. Я документировал этот факт в README, но мне не нравится идея, что пользователи должны вручную включать три JS-библиотеки для использования этого.Должна ли библиотека Javascript динамически добавлять зависимости?
Каковы плюсы и минусы наличия библиотеки, динамически включающей зависимости, если она их не находит? Например:
if (!window.jQuery) {
var _my_script=document.createElement('SCRIPT');
_my_script.type='text/javascript';
_my_script.src='//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js?';
document.getElementsByTagName('head')[0].appendChild(_my_script);
console.log("Loaded jQuery");
} else {
console.log("jQuery already loaded");
}
// get Raphael if not found
if (typeof(Raphael) === "undefined") {
var _my_script=document.createElement('SCRIPT');
_my_script.type='text/javascript';
_my_script.src='//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js?';
document.getElementsByTagName('head')[0].appendChild(_my_script);
console.log("Loaded Raphael");
} else {
console.log("Raphael already loaded");
}
Kosher?
Спасибо! Смелые твердые ответы. –