Как я могу структурировать плагин jQuery, который опирается на другие плагины, не заставляя пользователя связывать каждый из них? - PullRequest
1 голос
/ 10 марта 2011

Я создаю плагин jQuery, который использует несколько плагинов меньшего размера.Я не хочу заставлять пользователя иметь отдельный тег сценария для каждого плагина.Я мог бы просто выбросить их все в один файл, но, похоже, должен быть лучший способ.

Единственная идея, которую я могу придумать, - держать каждый плагин отдельно, но в общей папке.В рамках основного плагина я бы сделал что-то вроде следующего:

if(!$.isFunction(pluginName){
     //load the plugin from common folder
}

Есть ли что-то изначально неправильное в этом подходе?

Кто-нибудь знает лучший способ?

1 Ответ

0 голосов
/ 10 марта 2011

Вы можете просто попытаться создать тег с помощью src и прикрепить его к документу. Таким образом, вы можете «импортировать» другие js.

Примерно так:

function importJs(src) {
    var script = document.createElement("script"); //assuming that there is no lib yet, we do it manually
    script.type = "text/javascript";
    script.src = src;
    document.body.appendChild(script);
}

//and then we can do the imports
importJs("jquery.js");
importJs("somePath/someOtherLib.js");
//so on

Таким образом, вы можете иметь только один файл js, который «импортирует» и централизует любые другие js, которые вы хотите использовать.

Например, для динамического импорта CSS вы можете сделать почти то же самое, но вы измените тег скрипта с тегом, и вместо использования свойства src для пути вы используете свойство href, но вам все равно придется установить тип свойство, но для CSS MIME: "текст / CSS".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...