Взаимодействовать со скриптами из консоли

Есть ли способ вызвать модуль или функцию из консоли? Например, модуль, который создает рабочие крипы, вызывается из консоли с помощью my_module.add_creep?

4 ответа

Решение

Для данного примера используйте require('my_module').add_creep();Функция require возвращает все, что назначено для module.exports в этом модуле.

@cho: require не должен возвращать функцию. Скорее возвращает функцию, потому что модуль содержит функцию. Если модуль назначается следующим образом module.export = {test: 'test'}следуйте за фрагментом require('that_module') вернусь {test: 'test'} так далее...

Примечание. Не уверен, что у других есть такая проблема, но иногда консоль вообще не возвращает результат... В этом случае попробуйте перезагрузить страницу. Просто убедитесь, что игра не останавливается при выполнении команд...

Я только что понял это сегодня. Но есть хороший способ получить доступ к вашим методам из консоли.

Просто импортируйте ваши методы в объект Game (в вашем скрипте)

Game.creepManager = require('CreepManager');

Теперь вы можете использовать консоль, набрав

Game.creepManager.yourfunctionhere();

Другие упоминали использование require и присвоения Game, но вы также можете создавать новые команды и объекты верхнего уровня, назначая global.

Основной цикл:

global.rebuildMemory = () => console.log('Memory rebuilt.');
global.Commands = require('consoleCommands');

Затем из консоли:

rebuildMemory();
Commands.printRoomReport('W3N4');

require Функция возвращает функцию, поэтому вы можете вызывать ее direclty в консоли следующим образом:

require('harvester')(Game.creeps.harvester1);

Мне удалось вызвать модуль lodash из консоли, вызвав его так require('lodash').pluck(characters, 'name'), Не уверен, что он работает с модулями, созданными пользователем.

Другие вопросы по тегам