我在Screeps中有以下简单的测试模块(名为testModule
):
module.Exports = {
myProperty:'test'
};
在main
中,我尝试输出模块的内容,如下所示:
var x = require('testModule');
console.log("Value:" + JSON.stringify(x));
但我得到的只是一个空对象({}
);
因此,x.myProperty
未定义。我也尝试将模块转换为函数,如下所示:
module.Exports = function(){
return {
myProperty:'test'
};
};
然后使用x
将其分配给var x = require('testModule')();
,但我得到相同的结果。
显然游戏仍处于开发阶段,所以这可能是一个错误,但我想首先排除我的错误。任何人都能够实现我想做的事情?有人看到我做错了吗?
修改
有趣的是,即使我将模块更改为:
,它也会给我相同的空对象module.Exports = 'test';
当然这应该是打印字符串'test'
而不是空对象?这是一个需要js的怪癖吗?
答案 0 :(得分:3)
刚想出来 - 我在module.exports
中使用了大写字母E.我已经纠正了这个案子,现在工作正常:
module.exports = {
myProperty:'test'
};