Javascript 如何在其他文件中调用RequireJS函数?如何分离RequireJS文件?
我如何从其他文件调用各种“define”函数,而不是一个巨大的js文件,其中包含一大堆“define” 我一直在复制这些示例,但仍然无法使其正常工作: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
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'
例如:
工作!哇,一直以来我都在胡闹,这就是我所做的一切。非常感谢。