我正在尝试使用Scala.js为screep生成逻辑,但是当我尝试导入生成的javascript代码时,我遇到以下错误:
TypeError: Cannot read property 'Object' of undefined
at eval:1:358
at screeplogic:45:322
at m:4:3096
at console:45
at Object.c.runCode:4:6811
首先,我创建了一个简单的Scala.js项目:
https://github.com/Voltir/screepslogic
然后我使用"生成的#34;将我的screep帐户链接到该repo。将文件夹作为要导入游戏的链接文件夹。
要获得该错误,我启动自定义模拟,然后在screep控制台中执行简单的require("screeplogic")
答案 0 :(得分:0)
您的堆栈跟踪表明该错误不在Screeps代码中,而在您的错误中:
TypeError: Cannot read property 'Object' of undefined
at eval:1:358
at screeplogic:45:322 <-- here it is
如果检查screeplogic:45:322
中的指定位置,您可以看到您的转换程序尝试使用this
变量调用生成的闭包函数:
(function() { ....... }).call(this);
但是在模拟模式下,全局上下文不存储在this
中,因此此调用失败。如果你明确地传递global
变量,那么一切似乎都可以正常工作:
(function() { ....... }).call(global);