【发布时间】:2016-05-30 01:20:50
【问题描述】:
我正在将我的应用程序转换为使用 require.js,但我似乎无法加载 Bootstrap。这概括了我正在做的事情(以下假设一个简单的平面目录结构,没有子目录):
main.js
requirejs.config({
paths: {
"jquery": "jquery-1.12.4.min",
"bootstrap" : "bootstrap.min"
},
shim: {
"bootstrap": {
deps: ["jquery"]
}
}
});
require(["jquery"], function($) {
console.log($.fn);
});
index.html
<html>
<head>
<title>RequireJS Test</title>
<link rel="stylesheet" type="text/css" href="./bootstrap.min.css">
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container">
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">File</a>
<ul class="dropdown-menu">
<li><a href="#">Open...</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Save</a></li>
<li><a href="#">Save As...</a></li>
</ul>
</li>
</ul>
</div>
</body>
<script data-main="./main" src="./require.js"></script>
</html>
我的 Bootstrap 导航栏下拉菜单不起作用,事实上,当我在控制台中调查 jQuery 对象本身时,我没有看到 bootstrap.min.js 附加任何内容。但我看不出我做错了什么。我的真实应用程序也使用 Backbone,并且可以毫无问题地加载。为此,我使用以下垫片:
'backbone': {
'deps': ['jquery', 'underscore'],
'exports': 'Backbone'
}
但是 Bootstrap 的垫片对我不起作用。我错过了什么明显的东西吗?
我正在使用最新版本的 requirejs、bootstrap 和 jQuery。
【问题讨论】:
标签: twitter-bootstrap requirejs