Javascript Require.js-jQuery+;jQuery依赖文件(等待直到文件准备就绪)

Javascript Require.js-jQuery+;jQuery依赖文件(等待直到文件准备就绪),javascript,jquery,requirejs,Javascript,Jquery,Requirejs,我对你的要求有些问题 require.config({ paths: { "jquery": "//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min" }, waitSeconds: 40 }); requirejs(['jquery', '//cdnjs.cloudflare.com/ajax/libs/owl-carousel/1.3.2/owl.carousel.min.js'], fu

我对你的要求有些问题

require.config({
    paths: {
        "jquery": "//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min"
    },
    waitSeconds: 40
});


requirejs(['jquery', '//cdnjs.cloudflare.com/ajax/libs/owl-carousel/1.3.2/owl.carousel.min.js'], function(jQuery){
    $(function() {
        $('#carousel').owlCarousel({
            singleItem: true,
            autoPlay: true,
            stopOnHover: true,
            lazyLoad: true,
            itemsScaleUp: true
        });
    });
});
这只在我第二次加载页面时起作用(缓存?)


我想我需要在jQuery准备好后加载我的owl.carousel.js脚本,但是如何设置呢?

您可以在垫片中设置依赖项:

require.config({
    paths: {
        "jquery": "//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min",
        "owl" : "//cdnjs.cloudflare.com/ajax/libs/owl-carousel/1.3.2/owl.carousel.min.js"
    },
    waitSeconds: 40,
     shim: {
            'owl': {
                //These script dependencies should be loaded before loading
                // owl
                deps: ['jquery']
            }
        }
});

如果这不起作用,我建议下载jquery和owl的文件并将它们放在您的本地目录中,因为从CDN加载文件可能会使您感到厌烦。

您可以在垫片中设置依赖项:

require.config({
    paths: {
        "jquery": "//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min",
        "owl" : "//cdnjs.cloudflare.com/ajax/libs/owl-carousel/1.3.2/owl.carousel.min.js"
    },
    waitSeconds: 40,
     shim: {
            'owl': {
                //These script dependencies should be loaded before loading
                // owl
                deps: ['jquery']
            }
        }
});

如果这不起作用,我建议下载jquery和owl的文件并将它们放在您的本地目录中,因为从CDN加载文件可能会让您感到厌烦。

您必须将lib包装在define函数中,如下所示:

define(['jquery'], function( jQuery ) {
...
// OwlCarousel code
...
});

一些LIB已经实现了“AMD支持”,所以您不必这样做。您可以通过ctrl+f“amd”来检查此项,并查看lib是否包含此字符串。

您必须将lib包装在define函数中,如下所示:

define(['jquery'], function( jQuery ) {
...
// OwlCarousel code
...
});

一些LIB已经实现了“AMD支持”,所以您不必这样做。您可以通过ctrl+f“amd”来检查这一点,并查看库中是否包含此字符串。

当我稍后尝试使用owl时,会出现此错误“Uncaught TypeError:无法读取undefined”@Sam的属性“fn”。看起来owl对您来说仍然是未定义的。您是否尝试将owl和jquery都放在本地文件系统中而不是从CDN加载?是的@Evan,我已经这样做了。同样的错误也会发生。如果你看一下你的开发工具,CMD选项i,看看网络选项卡,你看到jquery和owl的加载顺序正确吗?当我稍后尝试使用owl时,出现了这个错误“uncaughttypeerror:cannotreadproperty'fn'ofundefined”@Sam,看起来owl对你来说仍然是未定义的。您是否尝试将owl和jquery都放在本地文件系统中而不是从CDN加载?是的@Evan,我已经这样做了。同样的错误也会发生。如果您查看开发工具、CMD选项i和网络选项卡,您是否看到jquery和owl的加载顺序正确?