javascript - Require.js : Uncaught TypeError: Object function . ..没有方法

标签 javascript requirejs amd js-amd

刷新页面时出现未捕获的类型错误,我的 js/app/main.js 文件无法调用 js/app/utilities 上的 update() 方法/resize.js.

错误输出

Uncaught TypeError: Object function U(n){return n&&typeof n=="object"&&!me(n)&&ne.call(n,"wrapped")?W(n)} has no method 'update'

不幸的是,我没有设法将问题隔离/复制到简化的工作示例中。但您可以单击下面文件夹树中的 js 文件来了解要点。

  • index.html
  • js/
    • app.js
    • lib/
      • require.js
      • jquery.js
      • ...等等
    • 应用程序/
      • main.js - 未捕获的 TypeError @line 566
      • 实用程序/

app.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.jsresize.js 上调用方法 update()

ma​​in.js

define([ 'require' , 'jquery' , ... ,'resize' ], function( require , $ , ... , resize ) {

...

function setup() {

 resize.update(); // Uncaught TypeError happens here

}

$doc.ready( setup );

resize.js

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 上的 require 中添加“resize”已经解决了这个问题;

require(["resize","app/main"],function(){});

我认为在 main.js 中向 Define() 提供“resize”将确保正确的 deps;

define([ 'require' , 'jquery' , ... ,'resize' ], function( require , $ , ... , resize )...

最佳答案

这似乎是一个依赖性问题。

在app.js中的require()中添加“resize”已经解决了这个问题;

require(["resize","app/main"],function(){});

我认为在 main.js 中向 Define() 提供“resize”将确保正确的 deps;

define([ 'require' , 'jquery' , ... ,'resize' ], function( require , $ , ... , resize )...

关于javascript - Require.js : Uncaught TypeError: Object function . ..没有方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17040533/

相关文章:

javascript - Jwplayer 6.11 不显示 Controller 按钮

javascript - 在javascript中获取视频第一帧

javascript - Dojo 需要单参数同步吗?

interface - TypeScript:使用 AMD 时类中的引用接口(interface)

dependency-injection - Bower 和 AMD 模块

javascript - 通过在 angularjs 中单击按钮发送要由服务器安装的文件名称

javascript - 为什么我从两种形式的相同数学表达式 [javascript] 中得到不同的结果?

javascript - 组件未在当前 View 中更新

javascript - 如何使用 r.js 从构建中排除 urlArgs

javascript - 使用 require.js 加载非 amd 模块