当前位置: 首页 > 知识库问答 >
问题:

NodeJS-2个进程中的类/模块的一个实例

丌官瀚
2023-03-14

我在导出它的文件中有一个类,如下所示:

MyClass.js:

class testClass {
  key = 'initial value';
  constructor(){
    return this;
  }
}

module.exports = testClass;

那么我有2个分别运行的节点文件:

let instance = new require("./myClass.js");
instance.key = 'changed value';
// Keeps running

而且

let instance = new require("./myClass.js");
console.log(instance.key);
// Also keeps running

如何使第二个进程打印“已更改值”而不是“初始值”?

备注:

  • 我尝试在第一个文件之后运行第二个文件;
  • 这是我需要的一个非常简化的示例,我更改了上下文以使其更易于理解。

共有1个答案

柳弘方
2023-03-14

困难的是,我认为您不能在两个进程之间共享内存中的seme对象。

也许您必须考虑创建包含数据的第三个进程。

例如:dnode https://github.com/substack/dnode

或者使用一些快速内存数据库作为Redis

进程0:data store、dnode或Redis

过程1:连接到数据存储并设置新值

过程2:连接到数据存储并获取值

 类似资料:
  • 我使用架构和堆栈。 对于服务之间的通信,我决定使用。 我有一个名为的服务,今天我实现了一个项目,并将其添加到存储库中。 我添加了到服务使用使用以下命令: 现在我想在中创建一个服务类,

  • 我正在尝试建立一个项目,其中我有两个模块和。 lib模块有自己的Dagger组件和模块,它应该是不知道味道的。

  • 问题内容: 目前,我在自己的文件中有4个子类。我要求它们都在同一个文件中。我想知道是否可以在一个模块中包含所有这四个类。目前,我正在像这样导入它们 我想这样导入 甚至 我的班级定义如下 问题答案: 您可以这样导出多个类: 例如 People.js 并按照您正确提到的方式访问这些类:

  • 问题内容: 我试图在全球范围内安装,然后使用和这样的: 我看到了通常的输出,也看到了将文件复制到全局路径的操作,但是如果我尝试这样做,则会收到一条错误消息,指出未找到该模块。 我正在使用node和npm的最新版本,并且我已经知道npm在全局安装与本地安装中所做的更改,但是我 真的不想 在每个项目上都安装localy,并且我正在一个没有不支持,因此对我而言无法全局安装。 我的问题是:为什么我不需要全

  • 新建一个类,名为UserModule, package为net.wendal.nutzbook.module 配置Ioc相关注解及属性,即IocBean,Inject和Dao属性,哦哦,还有At 完成的后的代码如下 package net.wendal.nutzbook.module; import org.nutz.dao.Dao; import org.nutz.ioc.loader.ann

  • 问题内容: 我试图使用Dagger在正在构建的应用程序上进行依赖注入,当我拥有一个程序包的模块(取决于注入器(可能是另一个模块)提供的值)时,在构造适当的DAG时遇到了麻烦。 如果我有一个用于配置变量的简单模块(例如,我可能想换成测试环境) 而另一个模块依赖于它,例如 我尝试在构造函数中引导注入的行失败,并且它抱怨我没有在适当的模块中指定显式行。 通过反复试验,我发现如果在行中添加,这种情况就消失