Javascript Can';t从Screeps中的main访问模块对象属性
我有以下简单的测试模块(称为Javascript Can';t从Screeps中的main访问模块对象属性,javascript,screeps,Javascript,Screeps,我有以下简单的测试模块(称为testModule): 在main中,我尝试输出模块的内容,如下所示: var x = require('testModule'); console.log("Value:" + JSON.stringify(x)); 但我得到的只是一个空对象({}) 因此,x.myProperty未定义。我还尝试将模块变成函数,如下所示: module.Exports = function(){ return { myProperty:'test'
testModule
):
在main
中,我尝试输出模块的内容,如下所示:
var x = require('testModule');
console.log("Value:" + JSON.stringify(x));
但我得到的只是一个空对象({}
)
因此,x.myProperty
未定义。我还尝试将模块变成函数,如下所示:
module.Exports = function(){
return {
myProperty:'test'
};
};
然后使用var x=require('testModule')()将其分配给x
但是我得到了同样的结果
显然游戏还在开发中,所以这可能是一个bug,但我想先排除我的错误。有人能实现我的目标吗?有人知道我做错了什么吗
编辑
有趣的是,即使我将模块更改为:
module.Exports = 'test';
当然这应该是打印字符串“test”
,而不是空对象?这是require js的一个怪癖吗?刚刚解决了这个问题-我在模块中使用了大写的E。exports
。我已经纠正了该案例,现在效果良好:
module.exports = {
myProperty:'test'
};
module.exports = {
myProperty:'test'
};