requirejs + jquery plugins fires TypeError:Object [object Object]没有方法'插件

时间:2013-12-07 11:20:47

标签: jquery jquery-plugins requirejs

通常是一个简单的问题。

为什么它始终有效:

require.config({
    shim: {
        'jquery': {exports: 'jQuery'},
        'jquery.plugin': { exports: 'jQuery', deps: ['jquery'] },
    },
});

define([
    'jquery.plugin'
], function($) {
    $('body').plugin();
});

所以工作并不总是:

require.config({
    shim: {
        'jquery': {exports: 'jQuery'},
        'jquery.plugin': { deps: ['jquery'] },
    },
});

define([
    'jquery', 'jquery.plugin'
], function($) {
    $('body').plugin();
});

定期触发错误 - “TypeError:Object [object Object]没有方法'plugin'”。

实验上,我意识到当方法定义密钥时确定'export'配置参数。当你写:

define([
    'jquery', 'jquery.plugin'
], function(dep1, dep2) {
    ..
});

dep1并不总是=== dep2(但有时候是O_o)。

这可能是什么问题?

1 个答案:

答案 0 :(得分:-1)

简单回答:

使用jQuery in requirejs config并行加载另一个url jquery的副本由YII Assets(AppAsset :: register($ this))...