当前位置:首页 > React

umi是如何暴露react

2026-01-24 06:08:12React

umi 暴露 React 的原理

umi 通过 webpack 的 externals 配置将 React 暴露为全局变量。在 umi 的配置中,默认会将 React 和 ReactDOM 设置为外部依赖,这样它们不会被打包到最终的代码中,而是通过全局变量 window.Reactwindow.ReactDOM 访问。

配置方式

在 umi 项目中,可以通过修改 config/config.js.umirc.js 文件来调整 React 的暴露行为。以下是一个示例配置:

export default {
  externals: {
    react: 'window.React',
    'react-dom': 'window.ReactDOM',
  },
};

使用 CDN 引入 React

为了确保全局变量可用,通常需要在 HTML 中通过 CDN 引入 React 和 ReactDOM。例如:

umi是如何暴露react

<script crossorigin src="https://unpkg.com/react@17/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js"></script>

优势与注意事项

  • 减少打包体积:通过外部化 React,可以避免将 React 库重复打包到多个 chunk 中。
  • 依赖管理:确保项目中使用的 React 版本与 CDN 提供的版本一致。
  • 调试方便:在开发环境中可以直接通过全局变量访问 React,方便调试。

需要注意的是,如果项目需要离线运行或对 CDN 稳定性有要求,可能需要考虑其他方案,如将 React 打包到项目中。

标签: umireact
分享给朋友:

相关文章

如何学习react

如何学习react

学习 React 的步骤 理解基础概念 React 是一个用于构建用户界面的 JavaScript 库。学习 React 之前,建议掌握 JavaScript 的基础知识,包括 ES6+ 语法(如箭头…

react如何销毁

react如何销毁

React 组件销毁的机制 在 React 中,组件的销毁通常由 React 的生命周期管理。当组件从 DOM 中移除时,React 会自动触发销毁相关的生命周期方法。以下是关键点: 组件的销毁通常…

react如何遍历

react如何遍历

遍历数组或对象的方法 在React中,遍历数组或对象通常用于渲染列表或动态生成内容。以下是几种常见的遍历方法: 使用map遍历数组map是遍历数组并返回新数组的高阶函数,适合渲染列表。 con…

react如何diff

react如何diff

React Diff 算法原理 React 的 Diff 算法是 Virtual DOM 的核心部分,用于高效更新真实 DOM。其核心思想是通过对比新旧 Virtual DOM 树的差异,最小化 DO…

react 如何遍历

react 如何遍历

遍历数组 在React中遍历数组通常使用map方法,它会返回一个新的数组。map是处理数组并渲染列表元素的首选方法。 const items = ['Apple', 'Banana', 'Cherr…

react如何重启

react如何重启

重启 React 应用的方法 重新加载当前页面 使用 window.location.reload() 强制刷新页面,这会重新加载整个应用并重置所有状态。 window.location.rel…