【发布时间】:2019-10-05 21:44:19
【问题描述】:
我是 React js 的新手,我有点困惑。
我认为模块会将 Web 应用程序变量保留在本地范围内,但显然不是。 React 仍然会创建全局变量,例如 window.React。
我错过了什么吗?是否可以将 React 保持在本地范围内?
我的用例:我正在创建一个 Web 门户,它将聚合来自多个来源的基于 React 的第三方小部件。每个小部件都有自己的 React 版本,我想确保没有干扰。
[编辑] 一些小部件从 CDN 加载 React,这会有所不同吗?除了寻找 window.React 之外,还有其他我可以/应该在全局范围内运行的测试吗?
【问题讨论】:
-
取决于您如何打包应用程序。如果您使用 webpack 之类的东西,它应该将所有内容打包到您的输出文件中,并且不应该在全局空间中声明/定义任何内容。除非您的代码明确设置了它,或者您的 webpack 或其他打包库设置为公开它们。否则,如果您直接包含 react,例如
<script src="react.js">,那么它会自动将 React 分配给全局空间
标签: javascript reactjs