Javascript 全局使用jquery、主干、下划线和requirejs?
我尝试使用以下代码使用requirejs包含我的自定义js文件Javascript 全局使用jquery、主干、下划线和requirejs?,javascript,jquery,requirejs,Javascript,Jquery,Requirejs,我尝试使用以下代码使用requirejs包含我的自定义js文件 require.config({ waitSeconds: 0, paths: { underscore: 'underscore/underscore', backbone: "backbone/backbone-min", jquery: "jquery/jquery-min", customhandler: "jquery/customhandler"
require.config({
waitSeconds: 0,
paths: {
underscore: 'underscore/underscore',
backbone: "backbone/backbone-min",
jquery: "jquery/jquery-min",
customhandler: "jquery/customhandler"
},
shim: {
underscore: {
deps: ['underscore'],
exports: '_'
}
}
});
创建了一个单独的文件customhandler.js
,其中我想使用主干、jquery和下划线
define(['jquery','underscore','backbone'], function($,_,Backbone) {
//using jquery
var oldAjax = $.ajax;
$.ajax = function(options) {
console.log(options)
// Do your magic.
return oldAjax.apply($, arguments);
}
//need to use backbone,underscore here
});
但我仍然无法将其加载到我的应用程序中。请告知。
jQuery
已经与AMD兼容,因此看起来您无法以这种方式填充此依赖项
从正式文件:
请记住:仅对非AMD脚本使用垫片配置
作为基本解决方法,您可以返回另一个对象,如下所示:
return { ajax : $.ajax };
或者在需要时使其更智能。调用
定义的模块不需要使用垫片。如果将shim
与调用define
的模块一起使用,则会得到未定义的行为。因此,这可能是您遇到问题的原因:为jqueryajaxhandler
删除您的垫片我尝试为jqueryajaxhandler删除垫片,但仍然不起作用。我在下面的回答中指出,为jqueryajaxhandler
删除垫片是一个问题。这可能不是唯一的问题,但它仍然是一个问题。这绝对是错误的。所以你应该把它去掉。此外,您的编辑还远未完成。“你现在的问题中没有任何内容可以练习你的超控。”路易斯现在更新了我的问题。很抱歉造成混淆。@myconstructure配置中脚本的入口点在哪里?