首页 > 解决方案 > 使用模块时控制台的范围是什么?

问题描述

我刚刚了解了 javascript 中的模块 到目前为止,我已经在一个文件中运行了我的代码,因此文件中的所有顶级变量都可以在控制台浏览器中访问。现在,当我开始使用不同的模块(文件)时,无法再从控制台访问文件中的顶级变量。我猜控制台代表一个全局范围(窗口),但我不确定现在从控制台界面可以看到哪些变量?

标签: javascriptscopeconsoleglobal-scope

解决方案


据我所知,模块中的所有变量都无法从浏览器控制台访问。

您可以在模块内使用此 hack 公开变量:

let foo = { bar: 42 };
window.foo = foo;

然后:

> console.log(foo);

将显示{ bar: 42 }.


推荐阅读