访问模块中的对象
Access to object in module
我正在做一些逻辑解析json数据对象,我想暴露在一些模块特定的对象之外,其他模块可以使用,我试着用下面的方法,但都不起作用,还有别的办法吗?
var jsonObject;
module.exports = {
parse: function () {
//here I do the parsing
....
jsonObject = JSON.parse(res)
,
//here I want to expose it outside
jsonObj:jsonObject
}
如果您试图公开整个对象,您可以像构建任何其他JavaScript对象一样构建它,然后使用模块。最后导出:
MyObj = function(){
this.somevar = 1234;
this.subfunction1 = function(){};
}
module.exports = MyObj;
如果你只是想公开某些函数,你不需要像对象一样构建它,然后你可以导出单个函数:
var somevar = 1234;
subfunction1 = function(){};
nonExposedFunction = function(){};
module.exports = {
subfunction1:subfunction1,
somevar:somevar
};
您只需将JSON.parse
的结果赋值给this.jsonObj
:
module.exports = {
parse: function (res) {
this.jsonObj = JSON.parse(res);
}
};
使用this.jsonObj
你是暴露JSON对象到外面,你可以用这种方式使用你的模块:
var parser = require('./parser.js'),
jsonString = // You JSON string to parse...
parser.parse(jsonString);
console.log(parser.jsonObj);
相关文章:
- Javascript,访问一个主要对象模块模式中的每个对象
- 未定义应为节点模块的对象
- JavaScript模块模式-如何在使用对象/函数之前激发构造函数/init函数
- 如何访问npm模块抛出的自定义错误对象[error:[object object]]
- 节点模块对象范围:在所有函数之间共享一个对象
- 从模块函数返回未定义的对象
- 将 NodeJS 模块范围变量作为对象访问
- 在节点中.js“模块”始终是一个对象
- 为什么“exports”在nodejs模块中引用与“this”相同的对象
- JavaFX+Javascript:如何将Java对象注入AMD模块
- 如何在ES2015中将模块中的选定函数作为对象导入
- requirejs:与模块类型相同的新对象
- 如何在模块之间共享对象
- NodeJS异步模块:如何在回调中获取results对象
- 是将连接对象传递给模块更好,还是在模块本身内连接更好
- 使用模块模式时,如何创建对象的新实例
- JQuery 对象似乎没有在模块中赋值
- 在模块之间传递对象引用
- 揭示模块模式:对象未定义
- JavaScript模块模式-返回的对象===模块||facade