间歇性的"Bootstrap的JavaScript需要jQuery"错误

Dav*_*veR 9 javascript requirejs

我刚刚开始使用requirejs,我遇到了一个我似乎无法解决的问题.当我加载我的应用程序时,我偶尔会收到错误"Bootstrap的JavaScript需要jQuery".以下是相关文件:

.HTML

<html>
<head>
<link href="./css/bootstrap.min.css" rel="stylesheet">
<link href="./css/custom.css" rel="stylesheet">
<script data-main="scripts/main" src="scripts/vendor/require.js"></script>
</head>
<body>
...
</body>
Run Code Online (Sandbox Code Playgroud)

来自main.js文件的my.config:

requirejs.config({
    baseUrl : './scripts',
    shim : {
        underscore : {
            exports : '_'
        },

        bootstrap : {
            dep : [ 'jquery'],
            exports: 'Bootstrap'
        },

        backbone : {
            deps : [ 'jquery', 'underscore' ],
            exports : 'Backbone'
        },

        marionette : {
            deps : [ 'jquery', 'underscore', 'backbone' ],
            exports : 'Marionette'
        },

        text: {
            deps : [ 'jquery', 'underscore', 'backbone' ],
            exports: 'Text'
        }
    },

    paths : {
        jquery : 'vendor/jquery.min',
        underscore : 'vendor/underscore',
        bootstrap : 'vendor/bootstrap.min',
        backbone : 'vendor/backbone',
        marionette : 'vendor/backbone.marionette',
        text: 'vendor/text'
    }
});
Run Code Online (Sandbox Code Playgroud)

正如我所说,这不会一直发生,只是随机发生.有人可以看到我做错了什么或者我怎么能找到问题?

谢谢

Lou*_*uis 11

在这部分配置中:

bootstrap : {
            dep : [ 'jquery'],
Run Code Online (Sandbox Code Playgroud)

应该deps不是dep.有了dep,就好像你根本没有指定任何依赖,这意味着只有在jQuery 恰好在它之前加载,Bootstrap才会正常加载.(另外,Bootstrap没有定义Bootstrap符号,因此该exports位无用.)

  • 该死的男人,6个月我把那个虫藏在我的垫片里!万分感谢. (2认同)