Bootstrap的最新Beta版本(v4)使用Tether js定位元素,但我无法让它在我的Requirejs应用中正常工作。
在我的requirejs配置中,我有以下垫片
paths: {
jquery: '/path/to/jquery',
tether: '/path/to/tether'
},
shim: {
'bootstrap': ['tether', 'jquery']
}
当我想在我的应用中激活工具提示时,我使用以下代码,我认为是正确的
function page_events() {
requirejs(['bootstrap'], function(bootstrap) {
$('[data-toggle="tooltip"]').tooltip();
});
}
这应该先加载 bootstrap 依赖项,然后再执行代码。因此,通常在这段代码之前应包含Tether。
但是控制台结果是
有人有同样的问题吗?
最佳答案
创建一个这样的脚本:
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