这是我第一次在国际象棋网站项目中使用requirejs,而且我遇到了一些错误。这是我的脚本目录结构:
js
│ require.js
│
├───chessboard
│ chessboard-0.3.0.js
│ chessboard-0.3.0.min.js
│
└───game_page
board_init.js
board_state_update_utils.js
btn_functions.js
game_state_ajax.js
game_state_init.js
on_action_update_functions.js
require_config.js
template_vars.js
我的requirejs html脚本标记:
<script type="text/javascript" data-main="static/js/game_page/require_config.js" src="static/js/require.js"></script>
我的数据主文件:
require_config.js
require.config({
paths: {
template_vars: 'template_vars',
board_init: 'board_init',
game_state_init: 'game_state_init',
game_state_ajax: 'game_state_ajax',
btn_functions: 'btn_functions',
on_action_update: 'on_action_update_functions',
board_state_update_utils: 'board_state_update_utils',
chessboard: '../chessboard/chessboard-0.3.0.min'
}
});
require(["template_vars", "game_state_ajax", "board_state_update_utils", "btn_functions",
"game_state_init", "board_init", "on_action_update", "chessboard"],
function (template_vars, ajax, utils, btn) {
//code
});
paths对象中列出的所有文件都是requirejs模块,这些模块在不同程度上相互依赖,包含在define()调用中。那些给我带来问题的模块:
game_state_init.js
define(["template_vars"],
function (template_vars) {
var game = template_vars.long_fen;
//other code
});
on_action_update_functions.js
define(["template_vars", "board_init", "game_state_init", "game_state_ajax", "board_state_update_utils"],
function (template_vars, board, game, ajax, utils) {
//code
});
在第一个模块中,我收到错误game_state_init.js:4 Uncaught TypeError:无法读取属性&#39; long_fen&#39;未定义的。在第二个模块中,我得到错误require.js:5 Uncaught Error:模块的加载超时:on_action_update_functions。我没有在任何其他模块中出现错误,即使那些依赖于template_vars模块的模块 - 我也不知道requirejs是如何工作的,但我想我会看到这些文件中的错误,如果有一个问题。这可能会发生什么?如果您需要其他信息来了解问题,请与我们联系。