有没有办法从控制台调用模块或功能?例如,一个创建工人小兵的模块,从控制台调用my_module.add_creep?
答案 0 :(得分:3)
对于给定的示例,请使用require('my_module').add_creep();
require函数返回分配给该模块中module.exports的任何内容。
@cho:require不必返回一个函数。它返回一个函数,因为该模块包含一个函数。如果模块指定为关注module.export = {test: 'test'}
,请关注代码段require('that_module')
将返回{test: 'test'}
等...
注意:不确定其他人是否有此问题,但有时控制台根本没有返回结果... 在这种情况下,请尝试重新加载页面。确保游戏不是执行命令时暂停...
答案 1 :(得分:2)
我今天才想到这一点。但是有一种很好的方法可以从控制台访问你的方法
只需将您的方法导入Game对象(在您的脚本中)
Game.creepManager = require('CreepManager');
现在可以通过输入
来使用控制台Game.creepManager.yourfunctionhere();
答案 2 :(得分:0)
我设法通过调用它来调用lodash模块,就像这个require('lodash').pluck(characters, 'name')
一样。不确定它是否适用于用户创建的模块。
答案 3 :(得分:0)
require
函数返回一个函数,因此您可以直接在控制台中调用它,如下所示:
require('harvester')(Game.creeps.harvester1);
答案 4 :(得分:0)
其他人提到使用require和分配给Game,但是您也可以通过分配给global来创建新的顶级命令和对象。
主循环:
global.rebuildMemory = () => console.log('Memory rebuilt.');
global.Commands = require('consoleCommands');
然后从控制台:
rebuildMemory();
Commands.printRoomReport('W3N4');