UMD / AMD समाधान
उन लोगों के लिए, जो इसे यूएमडी के माध्यम से कर रहे हैं , और इसके माध्यम से संकलन करते हैं require.js
, एक लैकोनिक समाधान है।
मॉड्यूल में, जिसे tether
निर्भरता के रूप में आवश्यकता होती है , जो Tooltip
मॉड्यूल परिभाषा के सामने, UMD के रूप में लोड होता है , बस Tether की परिभाषा पर लघु स्निपेट डालें:
// First load the UMD module dependency and attach to global scope
require(['tether'], function(Tether) {
// @todo: make it properly when boostrap will fix loading of UMD, instead of using globals
window.Tether = Tether; // attach to global scope
});
// then goes your regular module definition
define([
'jquery',
'tooltip',
'popover'
], function($, Tooltip, Popover){
"use strict";
//...
/*
by this time, you'll have window.Tether global variable defined,
and UMD module Tooltip will not throw the exception
*/
//...
});
यह शुरुआत में बहुत कम स्निपेट, वास्तव में आपके आवेदन के किसी भी उच्च स्तर पर रखा जा सकता है, सबसे महत्वपूर्ण बात - निर्भरता के bootstrap
साथ घटकों के वास्तविक उपयोग से पहले इसे लागू करना Tether
।
// ===== file: tetherWrapper.js =====
require(['./tether'], function(Tether) {
window.Tether = Tether; // attach to global scope
// it's important to have this, to keep original module definition approach
return Tether;
});
// ===== your MAIN configuration file, and dependencies definition =====
paths: {
jquery: '/vendor/jquery',
// tether: '/vendor/tether'
tether: '/vendor/tetherWrapper' // @todo original Tether is replaced with our wrapper around original
// ...
},
shim: {
'bootstrap': ['tether', 'jquery']
}
युपीडी: में बूटस्ट्रैप 4.1 स्थिर वे प्रतिस्थापित टिथर , साथ Popper.js , देख के उपयोग पर प्रलेखन ।