我将会翻译以下内容:
当我运行我的应用程序时,尽管app.js已经被加载,但我要求的模块从未被加载 - “hello world”被执行,但“nothing here”没有!在HTML页面中,我的脚本标记如下:
我做错了什么?也许require.js在加载screens.js下的某个子模块时默默失败了?
以下是来自Screens模块的代码:
我正在尝试使用require.js加载一个模块,在我的app.js文件中有以下代码:
require.config({
baseUrl: "js"
});
alert("hello world"); // for debugging
require(['eh2'], function(eh2) {
alert("nothing here"); // for debugging
});
当我运行我的应用程序时,尽管app.js已经被加载,但我要求的模块从未被加载 - “hello world”被执行,但“nothing here”没有!在HTML页面中,我的脚本标记如下:
<script type="text/javascript" src="js/lib/require.js" data-main="app"></script>
而 eh2.js 位于 js 文件夹中,并且被包装在一个 define 语句中:
define(["./screens/Screens"], function(screens) {
return {
// code here
};
});
我做错了什么?也许require.js在加载screens.js下的某个子模块时默默失败了?
以下是来自Screens模块的代码:
define([ "screens/TitleScreen", "screens/GameScreen" ], function(titleScreen, gameScreen) {
return {
screenFuncs: {
"TitleScreen" : titleScreen.TitleScreen,
"GameScreen" : gameScreen.GameScreen,
},
buildScreen: function(data) {
var func = screenFuncs[data.type];
var screen = new func(data.params);
return screen;
},
};
});
在define调用中,路径需要相对于我所在的js文件的当前位置还是相对于app.js中定义的根目录?
define("eh2", ["./screens/Screens"],…);
。同时,请检查屏幕脚本是否正确加载,可以查看您的网络面板。 - Bergi