我似乎找不到关于我应该从 ES6 模块导出全局变量的方式的描述。是否有定义它的资源?
似乎唯一可行的解决方案是引用全局对象,例如 window
:
window['v'] = 3;
但是如果这个脚本在 Node.js 中运行呢?那么我没有 window
;我有 global
。但是这段代码并不好:
var g = window || global;
g['v'] = 3;
我了解模块的概念并且 不在我的应用程序中使用全局变量。然而,在控制台调试期间使用全局变量可能是有益的,尤其是当使用像 Webpack 这样的捆绑器而不是像 SystemJs 这样的加载器时,你可以在控制台中轻松导入模块。
原文由 Max Koretskyi 发布,翻译遵循 CC BY-SA 4.0 许可协议
有几种方法可以在您的应用程序中使用全局值。
使用 ES6 模块,您可以创建一个从模块中导出的常量。然后您可以从任何其他模块或组件导入它,如下所示:
或者,一些 JS 捆绑工具提供了一种在构建时将值传递到组件中的方法。
例如,如果您使用的是 Webpack ,则可以使用 DefinePlugin 配置一些在编译时可用的常量,如下所示: