【问题标题】:How to keep React js out of the global scope如何将 React js 排除在全局范围之外
【发布时间】: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


【解决方案1】:

当您使用导入时,全局范围应保持不变。您的设置一定有问题:

https://codesandbox.io/embed/epic-mclaren-vzo2x

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-14
    • 1970-01-01
    • 1970-01-01
    • 2014-12-24
    • 2022-01-27
    • 1970-01-01
    相关资源
    最近更新 更多