gpt4 book ai didi

javascript - 如何在 Node 模块中公开对象

转载 作者:行者123 更新时间:2023-11-30 16:39:50 25 4
gpt4 key购买 nike

我有一个正在使用解析(解析功能)的模块,其他模块应该查询这个解析器值。我的问题是

  1. 我应该如何构建它(设计方面)?
  2. 哪个方法应该初始化解析器(第一个调用它的方法获得特定的值(value))

这是从解析器返回两个对象的示例代码,但我认为这不是正确的方法,因为我可能需要提供额外的属性

这是模块解析

 parse = function (data) {
var ymlObj = ymlParser.parse(data);
return {
web: ymlObj.process_types.web,
con: ymlObj.con

}

};

最佳答案

如果我没理解错的话,你可以用 getter 和 setter 制作简单的模块。

(解析.js)

var ymlObj = {};

function Parse() {}

Parse.prototype.setData = function (data) {
ymlObj = data;
}

Parse.prototype.getWeb = function () {
return ymlObj.process_types.web;
}

Parse.prototype.getCon = function () {
return ymlObj.con;
}

module.exports = new Parse();

(解析用户.js)

var parse = require('./parse.js');

function ParseUser() { }

ParseUser.prototype.useParse = function () {
console.log(parse.getCon());
}

module.exports = new ParseUser();

(应用程序.js)

var parse = require('./parse.js');
var parseUser = require('parseUser.js');

parse.setData({ ... });
parseUser.useParse();

您仍然需要做处理异常等基础知识,但希望这能帮助您理解基本结构。

init 的作用实际上取决于您何时要初始化(获取?)您的数据以及该数据从何而来。您可以设置时间戳以指示您的数据有多旧,并决定您是否仍然依赖它或获取更新的数据。或者您可以从您的用户模块注册回调,以便在每次获取新数据时对其进行处理。

因此,如何设计模块取决于您。 ;)

关于javascript - 如何在 Node 模块中公开对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32165019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com