当我在我的 node.js 模块中执行此操作时:
var abc = '123';
它去哪儿了?我的意思是:在浏览器中,它进入 window.abc
(如果没有在函数中执行或以其他方式执行)
如果我执行这个:
abc = '123';
然后我可以在 global.abc
中找到它,但这不是我想要的。
最佳答案
与浏览器不同,默认情况下变量分配给全局空间(即窗口),在 Node 中,变量的范围是模块(文件)除非您明确将它们分配给 module.exports .
实际上,当您运行 node myfile.js
或 require('somefile.js')
时,文件中的代码如下包装:
(function (exports, require, module, __filename, __dirname) {
// your code is here
});
关于node.js - node.js 中存储的模块变量在什么范围内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15406062/