有没有办法将变量从 .js 文件动态导入到另一个文件? (JavaScript)

问题描述 投票:0回答:2

大家好我是 javascript 的新手,我需要帮助来理解动态导入。

假设有两个.js 文件'File1.js''File2.js'。我的问题是我有一个变量,我们称它为“x”,它的值不时在“File1.js”中更改,但我想 console.log() 它,每次更改它价值已经取得,来自“File2.js”.

例如,如果程序依次调用 file1.js 和 file2.js。输出应该是这样的:

//Programm 调用 File1.js 并且 x 获取值 0 所以 x += 0

x = 0 //Programm 调用 File2.js,现在我想记录 x 的值(所以 console.log(x) = 0)

//Programm 调用 File1.js 并且 x 获取值 1 所以 x += 1

x = 1

//Programm 调用 File2.js,现在我想记录 x 的新值(所以 console.log(x) = 1)

File2.js 如何动态访问 x 的值?

注意。 X 在不同的 .js 文件 (File1.js) 中定义。

javascript import
2个回答
0
投票

你看过观察者设计模式吗?


0
投票

你的描述有点混乱。如果您的“程序”导入两个文件,那么您可以使用EventEmitter

所以,接下来的结构是:

程序.js:

const events = new EventEmitter();
file1.init(events);
file2.init(events);

File1.js:

//when you change a variable you can emit an event:
events.emit('variable-changed', newVariableValue);

File2.js:

   // listen for changes:
   events.on('variable-changed', newVariable => {});

另一个选项,如果你的主程序没有持续运行,你可以在“File1.js”中写入一个变量到一个文件,并在“File2.js”中读取变量值

© www.soinside.com 2019 - 2024. All rights reserved.