Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery RequireJS-加载有自己需求的插件_Jquery_Requirejs - Fatal编程技术网

Jquery RequireJS-加载有自己需求的插件

Jquery RequireJS-加载有自己需求的插件,jquery,requirejs,Jquery,Requirejs,有可能我把这个问题复杂化了,但希望这是一个快速解决方案。我试图在一个requireJS模块中加载一个jQuery插件,该插件有自己的可用插件。因此,我假设,在我尝试要求其他插件之前,我需要jQuery插件本身已经加载到jQuery中。我曾考虑过在加载插件时使用jQuery的deferred-to-trigger在另一个require中进行触发,但它似乎没有100%的时间工作。我假设有某种比赛条件。任何输入都会很棒 这是我目前拥有的代码。我首先在jQuery中加载,然后在Footables中加载,

有可能我把这个问题复杂化了,但希望这是一个快速解决方案。我试图在一个requireJS模块中加载一个jQuery插件,该插件有自己的可用插件。因此,我假设,在我尝试要求其他插件之前,我需要jQuery插件本身已经加载到jQuery中。我曾考虑过在加载插件时使用jQuery的deferred-to-trigger在另一个require中进行触发,但它似乎没有100%的时间工作。我假设有某种比赛条件。任何输入都会很棒

这是我目前拥有的代码。我首先在jQuery中加载,然后在Footables中加载,然后在插件中加载一个require,在这一点上我解决了延迟的问题

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

    var deferred = $.Deferred();
    var plugins = [
        'vendor/plugins/footables/footable',
        'vendor/plugins/footables/footable.filter',
        'vendor/plugins/footables/footable.sort',
        'vendor/plugins/footables/footable.striping'
    ];

    require([
        'jquery',
        'vendor/plugins/footables/footable'
    ],function(){
        require(plugins, function(){
            deferred.resolve($);
        })
    });

    deferred.done(function($){
        $('#footable-0').footable();
        $('#footable-0').removeAttr('hidden');
    })

});
我的RequireJS配置如下:

require.config({
    paths: {
        'jquery':          '//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min',
        'jquery-ui':       'vendor/plugins/jquery-ui-1.10.3.custom',
        'leaflet':         'widgets/leafletjs_wrapper'
    },
    // avoid jquery conflicts on the page, per http://requirejs.org/docs/jquery.html#noconflictmap
    map: {
        '*': { 'jquery': 'vendor/jquery-private' },
        'vendor/jquery-private': { 'jquery': 'jquery' }
    }
    });
require(['app', 'jquery'], function (app, $) {
    'use strict';
});
然后,我用app.js启动应用程序,它只需加载jQuery和我尝试运行的模块

define([
    'widgets/footables_wrapper'
], function () {
    'use strict';
    return {};
});
其他一切都在按它应该的方式加载。我想知道我是否需要填充插件,因为我不相信它们是AMD模块,但这是否意味着每个插件都有一个单独的填充?有没有一种方法可以对多个文件进行依赖


或者可能我没有正确地传递$variable,因此当它被传递到deferred.resolve时,它没有FooTables函数和所有正确连接的插件。只是一些想法。

它怎么不起作用?你有错误吗?它是不是没有做你期望它做的事情?它是在做你意想不到的事情吗?您的RequireJS配置是什么,以及如何启动应用程序?使用此信息编辑您的问题。