У меня есть две библиотеки javascript, одна из которых я написал как коннектор, а другая - библиотека третьей стороны "bootbox.js". Я использую requirejs для настройки моей пользовательской библиотеки, однако я не уверен, как сделать то же самое для bootbox.js, не изменяя код jbox bootbox.
ошибка js, которую я получаю.
TypeError: $ is not a function
Текущая конфигурация.
warnings.js
requirejs.config({
"shim": {
'bootbox': {
deps: ['./jquery']
}
}
});
define(["./jquery", "./vendor/bootbox"], function($) {
var int;
int = function(spec) {
$('#' + spec.id).dialog({do something});
}
return int;
}
и теперь bootbox.js
window.bootbox = window.bootbox || (function init($, undefined) {
"use strict";
//do something
}(window.jQuery));
Кто-нибудь знает, как заставить библиотеку jbox bootbox использовать пространство имен jquery?
в файле app.js
require.config({
....
shim: {
'bootbox': {
deps: ['./jquery'] --> dependancies
}
}
)}
это означает, что когда вы
require('bootbox')
то require.js сначала загрузит jquery, а затем загрузит другой файл. перейдите по этой ссылке для получения дополнительной информации