остання бета-версія (v4) Bootstrap використовує Tether js для позиціонування елементів, я не можу дозволити йому працювати в моєму додатку Requirejs.
в моєму configjs config у мене є наступні shim "s
paths: {
jquery: "/path/to/jquery",
tether: "/path/to/tether"
},
shim: {
"bootstrap": ["tether", "jquery"]
}
І коли я хочу активувати підказки в моєму додатку, я використовую наступний код, який я вважаю правильним
function page_events() {
requirejs(["bootstrap"], function(bootstrap) {
$("[data-toggle="tooltip"]").tooltip();
});
}
Це повинно спочатку завантажувати залежності завантажувальних версій, а потім виконувати код. Тому, звичайно, Tether має бути включений до цього коду.
Але результат консолі
Uncaught ReferenceError: Tether не визначено
Хто-небудь має те ж саме питання?
Відповіді:
7 для відповіді № 1Створіть такий сценарій:
define(["lib/tether.min"], function(tether) {
window.Tether = tether;
return tether;
});
Потім змініть це:
paths: {
jquery: "/path/to/jquery",
// tether: "/path/to/tether"
tether: "/path/to/your-own-tether"
},
shim: {
"bootstrap": ["tether", "jquery"]
}
Чому? тому що браузер потребує цього:
window.Tether = tether; // May be both requirejs and tether didn"t do this
0 для відповіді № 2
якщо ви хочете, щоб Tether був доступний у всьому світі, ви повинні включити його вручну за допомогою тега сценарію. RequireJS не розкриває його.
<script type="text/javascript" src="/js/tether.js"></script>
<script type="text/javascript" src="/js/optimized.min.js"></script>