要求JS仍然没有按顺序加载填充内容

时间:2013-04-23 12:01:28

标签: javascript requirejs shim

我可能在这里做了一些明显错误的事情,这是我的代码,我不断收到错误说 _Packery未定义,我认为这是因为它在jQuery之前加载。

我查看了文档,但我看不出为什么它无法正常工作。

require.config({
    urlArgs: "ts="+new Date().getTime(), // disable caching - remove in production
    paths: {
        jquery: [
            "http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min",
            "libs/jquery-191"
        ],
        packery: [
            "plugins/packery"
        ]
    },
    shim: {
        'packery': ['jquery']
    }
});


require(['jquery', 'packery'], function($) {

    var container = $('#container');
    container.packery({
        itemSelector: '.item',
        gutter: 10
    });

});

任何帮助我理解我做错了什么的帮助都会受到赞赏。

由于

2 个答案:

答案 0 :(得分:0)

我想你应该定义一个这样的垫片:

 shim: {
        'packery': {
            deps: ['jquery'],
        }, ...

然后尝试像这样导出包装......

require(['jquery', 'packery'], function($, packery) {

    var container = $('#container');
    container.packery({
        itemSelector: '.item',
        gutter: 10
    });

});

从官方文档: jQuery不需要使用Packery。但是如果你喜欢jQuery,那么Packery可以将它作为一个jQuery插件使用。

答案 1 :(得分:0)

Packery目前不支持AMD / Require JS。请参阅https://github.com/metafizzy/packery/issues/20但是,此问题正在开发中,将来会得到解决。