Javascript 如何在其他文件中调用RequireJS函数?如何分离RequireJS文件?

Javascript 如何在其他文件中调用RequireJS函数?如何分离RequireJS文件?,javascript,requirejs,amd,Javascript,Requirejs,Amd,我如何从其他文件调用各种“define”函数,而不是一个巨大的js文件,其中包含一大堆“define” 我一直在复制这些示例,但仍然无法使其正常工作: 以下是我到目前为止的情况: main.js require.config({ baseUrl: '', paths: { jquery: '../libraries/jquery-1.10.2.min', simControlView: '../javascripts/simControlVi

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

我一直在复制这些示例,但仍然无法使其正常工作:

以下是我到目前为止的情况:

main.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

    };
});
define(['jquery'], function ($) {
    return {
        showSimControlView: function () {
            console.log("Hi!!");
        }
    }
});
simControlView.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

    };
});
define(['jquery'], function ($) {
    return {
        showSimControlView: function () {
            console.log("Hi!!");
        }
    }
});
下面是我得到的错误:

未捕获类型错误:对象函数d(e,c,h){var g、 k;f.enableBuildCallback&&(c&&H(c))&&(c.u requireJsBuild=!0);if(“string”==typeof e) {if(H(c))返回v(A)(“requireargs”,“无效require 调用”,h);如果(a&s(N,e))返回Ne;如果(j.get)返回 j、 get(i,e,a,d);g=n(e,a,!1,!0);g=g.id;return!s(r,g)→v(a)(“未加载”,模块 尚未为上下文加载名称“'+g+”:“+b+(a?”:”使用 require([])”)):r[g]}K();i.nextTick(function(){K();K=q(n(null,a));K.skipMap=f.skipMap;K.init(e,c,h,{enabled:!0});c();返回 d} 没有方法“showSimControlView”


看到我做错什么了吗?感谢您的帮助

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

此外,订购可能很重要。也就是说,模块的
define()
可能需要在需要它的
require()
之前(谈论
'loadPage'
模块)

此外,如果您的
路径
配置调用模块
'simControlView'
,则需要将其称为
'simControlView'
,而不是
'./simControlView'

例如:


工作!哇,一直以来我都在胡闹,这就是我所做的一切。非常感谢。