ইউএমডি / এএমডি সমাধান
এই ছেলেরা, যারা এটি ইউএমডি এর মাধ্যমে করছে এবং এর মাধ্যমে সংকলন করছে require.js
তাদের জন্য একটি ল্যাকনিক সমাধান রয়েছে।
মডিউলে, যার tether
নির্ভরতা হিসাবে প্রয়োজন , যা Tooltip
ইউএমডি হিসাবে লোড হয়, মডিউলের সংজ্ঞার সামনে, কেবল টেথারের সংজ্ঞায় সংক্ষিপ্ত স্নিপেট রাখুন:
// 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']
}
UPD: ইন Boostrap 4.1 স্থিতিশীল তারা প্রতিস্থাপিত শিকল , সঙ্গে Popper.js দেখুন ব্যবহারের উপর ডকুমেন্টেশন ।