1

我可能在这里做了一些明显错误的事情,这是我拥有的代码,我一直收到一个错误,说_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
    });

});

任何让我了解我做错了什么的帮助将不胜感激。

谢谢

4

2 回答 2

0

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

于 2013-05-11T03:18:33.337 回答
0

我认为你应该像这样定义一个垫片:

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

然后尝试像这样导出packery ...

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

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

});

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

于 2013-04-23T12:08:56.587 回答