【问题标题】:How to call RequireJS functions in other files? How to separate RequireJS files?如何在其他文件中调用RequireJS函数?如何分离 RequireJS 文件?
【发布时间】:2013-09-20 06:08:46
【问题描述】:

我如何从其他文件中调用我的各种“定义”函数,而不是拥有一个包含一大堆“定义”的巨型 js 文件?

我一直在复制这些示例,但仍然无法使用:

这是我目前所拥有的:

ma​​in.js

require.config({
    baseUrl: '',
    paths: {
       jquery: '../libraries/jquery-1.10.2.min',
       simControlView: '../javascripts/simControlView'
    }
});

require(['jquery','loadPage'], function( $,loadPage) 
{ 
        loadPage();
});

define('loadPage', ['jquery'], function($)
{
    var simControlView = require(['./simControlView']);
    return function()
    {
         simControlView.showSimControlView(); //having problem here

    };
});

simControlView.js

define(['jquery'], function ($) {
    return {
        showSimControlView: function () {
            console.log("Hi!!");
        }
    }
});

这是我得到的错误:

未捕获的类型错误:对象函数 d(e,c,h){var g,k;f.enableBuildCallback&&(c&&H(c))&&(c.__requireJsBuild=!0);if("string"===typeof e){if(H(c))return v(A("requireargs", "无效的要求 call"),h);if(a&&s(N,e))return Ne;if(j.get)return j.get(i,e,a,d);g=n(e,a,!1,!0);g=g.id;return!s(r,g)?v(A("未加载" ,'模块 name "'+g+'" 尚未加载上下文:'+b+(a?"":"。使用 要求([])"))):r[g]}K();i.nextTick(function(){K();k=q(n(null,a));k.skipMap =f.skipMap;k.init(e,c,h,{enabled:!0});C()});return d} 没有方法'showSimControlView'

看到我做错了什么吗?任何帮助表示赞赏!

【问题讨论】:

    标签: javascript requirejs amd


    【解决方案1】:

    尝试将所有依赖项移动到您传递给define() 的依赖项列表中。

    此外,排序可能很重要。 IE。模块的define() 可能需要在需要它的require() 之前(谈论'loadPage' 模块)。

    另外,如果您的paths 配置调用了一个模块'simControlView',那么它需要被称为'simControlView',而不是'./simControlView'

    例如:

    define('loadPage', ['jquery', 'simControlView'], function($, simControlView) {
        return function() {
             simControlView.showSimControlView();
        };
    });
    
    require(['jquery', 'loadPage'], function($, loadPage) {
        loadPage();
    });
    

    【讨论】:

    • 成功了!哇,我一直在搞砸它,这就是它所需要的。谢谢!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多