当我刷新页面时,我收到了未捕获的TypeError,我的 js / app / main.js 文件无法调用 js / app / utilities上的方法update() /resize.js
Uncaught TypeError:对象函数U(n){return n&amp;&amp; typeof n ==“object”&amp;&amp;!me(n)&amp;&amp; ne.call(n,“ wrapped < / strong>“)?W(n)}没有方法'更新'
遗憾的是,我没有设法将问题隔离/复制到简化的工作示例中。但您可以点击下面文件夹树中的js文件获取要点。
require.config({
urlArgs: "bust=" + (new Date()).getTime(),
baseUrl: WP.THEME_URL+"/js",
paths: {
app : "app"
, jquery : "lib/jquery-2.0.2.min"
, ...
, resize : "app/utilities/resize"
, ...
}
});
require(["app/main"],function(){});
main.js
define(['require','jquery',...,'resize'],function(require,$,...,resize){
...
功能设置(){
resize.update(); // Uncaught TypeError happens here
}
$ doc.ready(setup);
define([],function () {
var resizeItems = [],
update = function () {
for (i = 0; i < resizeItems.length; i++){
var item = resizeItems[i];
item.callback( App.screen.width , App.screen.height );
}
};
return {
update : update,
add : function( item ) { resizeItems.push( item ); }
}
});
提前致谢
修改:这似乎是一个依赖问题。在app.js上添加“resize”要求已经解决了它;
require(["resize","app/main"],function(){});
我认为在main.js中使用“resize”来定义()会确保正确的deps;
define([ 'require' , 'jquery' , ... ,'resize' ], function( require , $ , ... , resize )...
答案 0 :(得分:1)
这似乎是一个依赖问题。
在app.js中向require()添加“resize”已经解决了它;
require(["resize","app/main"],function(){});
我认为在main.js中使用“resize”来定义()会确保正确的deps;
define([ 'require' , 'jquery' , ... ,'resize' ], function( require , $ , ... , resize )...