当我在node.js模块中执行此操作时:
var abc = '123';
去哪儿了?我的意思是:在浏览器中window.abc(如果未在函数中执行或以其他方式执行)
window.abc
如果我执行此操作:
abc = '123';
然后可以在中找到它global.abc,但这不是我想要的。
global.abc
与浏览器不同,浏览器默认情况下将变量分配给全局空间(即窗口),而在Node中, 除非您 将变量 明确 分配给module.exports, 否则 变量的作用域为模块(文件)。
实际上,当您运行node myfile.js或require('somefile.js')文件中的代码包装如下时:
node myfile.js
require('somefile.js')
(function (exports, require, module, __filename, __dirname) { // your code is here });