我正在尝试开发(重写)作为小型国际象棋引擎(平板电脑上的 2 名玩家,或远程游戏)
因为当增加可用类型的nubzer时,属性和行为逐渐出现在系统上:我在两者之间制作了一些中间模块
基本的:营地,代数参考,windrose
中级:国际象棋、棋盘、瓷砖
全球的:游戏
我正在使用 require.js 来定义我的模块,我有很多对象交叉引用,所以我正在构建一个池(事务管理器)来保持跨依赖关系图的关系。
当试图在它定义的模块之外获取一个对象的原型时,问题就出现了,如下所示:
// file: js/app/chess/board.js
define("chess/algebr", function(algebr) {
var Board = function(id) {
this.id = id;
}
// other stuff ...
return {
create : function() { return new Board(); }
}
});
// file js/app/colorchess.js
define("core/pool", "chess/board", "chess/tile", function(pool, board, tile) {
// some other stuff...
var board = board.create();
console.log(board.prototype); // --> undefined
});
那么,怎么了?板子的原型去哪了?这是一个关于模块之间作用域的故事吗?
问候。