Jquery RequireJS-加载有自己需求的插件
有可能我把这个问题复杂化了,但希望这是一个快速解决方案。我试图在一个requireJS模块中加载一个jQuery插件,该插件有自己的可用插件。因此,我假设,在我尝试要求其他插件之前,我需要jQuery插件本身已经加载到jQuery中。我曾考虑过在加载插件时使用jQuery的deferred-to-trigger在另一个require中进行触发,但它似乎没有100%的时间工作。我假设有某种比赛条件。任何输入都会很棒 这是我目前拥有的代码。我首先在jQuery中加载,然后在Footables中加载,然后在插件中加载一个require,在这一点上我解决了延迟的问题Jquery RequireJS-加载有自己需求的插件,jquery,requirejs,Jquery,Requirejs,有可能我把这个问题复杂化了,但希望这是一个快速解决方案。我试图在一个requireJS模块中加载一个jQuery插件,该插件有自己的可用插件。因此,我假设,在我尝试要求其他插件之前,我需要jQuery插件本身已经加载到jQuery中。我曾考虑过在加载插件时使用jQuery的deferred-to-trigger在另一个require中进行触发,但它似乎没有100%的时间工作。我假设有某种比赛条件。任何输入都会很棒 这是我目前拥有的代码。我首先在jQuery中加载,然后在Footables中加载,
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配置是什么,以及如何启动应用程序?使用此信息编辑您的问题。