有办法知道浏览器中的 React 的运行时版本吗?
React.version就是你要找的。
React.version
但是它是没有文档的(据我所知) ,所以它可能不是一个稳定的特性(也就是说,虽然不太可能,但它可能会在未来的版本中消失或改变)。
以脚本形式导入 React的示例
React
const REACT_VERSION = React.version; let root = ReactDOM.createRoot(document.getElementById('root')); root.render( <div>React version: {REACT_VERSION}</div> );
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/18.2.0/umd/react.production.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/18.2.0/umd/react-dom.production.min.js"></script> <div id="root"></div>
以模块形式导入 React的示例
import { version } from 'react'; console.log(version);
显然,如果将 React作为模块导入,它将不在全局作用域中。上面的代码是打算绑定到您的应用程序的其余部分,例如使用 网络包。如果使用在浏览器的控制台上,它实际上永远不会工作(它使用的是裸导入)。
第二种方法是推荐的方法。大多数网站都会使用它。创建-反应-应用程序这样做(它在幕后使用 网络包)。在这种情况下,React是封装的,通常不能在捆绑包之外访问(例如在浏览器的控制台中)。
打开 Chrome 开发工具或其他类似工具,在控制台中运行 require('React').version。
require('React').version
这种方法也适用于像 Facebook 这样的网站,用来查明他们使用的是什么版本。
不能确定是否导出了任何全局 ECMAScript 变量,html/css 不一定表示 React。所以看看。JS.
方法1: 查看 ECMAScript:
版本号由模块 做出反应和 反应导出,但这些名称通常通过捆绑和隐藏在无法访问的执行上下文中的版本来删除。一个聪明的断点可以直接显示该值,或者您可以搜索 ECMAScript:
方法2: 使用 DOM 断点:
Inspect Element
Elements
Break On… - subtree modifications
Sources
Call Stack
render
ReactDOM.render
react-dom
version: "15.6.2"
该版本也被注入到 React dev 工具中,但据我所知没有在任何地方显示。
打开控制台,然后运行 window.React.version。
window.React.version
这对我在 Safari 和 Chrome 浏览器中工作,同时从0.12.2升级到16.2.0。
对于一个用 创建-反应-应用程序创建的应用程序,我设法查看了它的版本:
这个应用程序在没有源地图的情况下部署。
在 index.js 文件中,只需将 应用程序组件替换为“ React.version”。 例如。
ReactDOM.render(React.version, document.getElementById('root'));
我已经用 React v16.8.1检查过了
在现有的项目中,查看 React 版本的一个简单方法是转到任何组件的 render方法并添加:
<p>{React.version}</p>
这假设您导入如下反应: import React from 'react'
import React from 'react'
从命令行:
npm view react version npm view react-native version
安装了 React Devtools 后,你可以在浏览器控制台上运行:
__REACT_DEVTOOLS_GLOBAL_HOOK__.renderers.forEach(r => console.log(`${r.rendererPackageName}: ${r.version}`))
其输出类似于:
react-dom: 16.12.0
如果没有安装,首先安装 React dev 工具,然后在浏览器控制台中运行以下代码:
__REACT_DEVTOOLS_GLOBAL_HOOK__.renderers.get(1).version
要了解 response 版本,请在根文件夹中打开 package.json 文件,搜索 keywork response。你会看到像“反应”: “ ^ 16.4.0”,
这个策略应该始终有效: 最后 React 必须通过 script 标记包含在 html 中的一个 js 文件中。所以,找到那个文件,并寻找反应版本。
您可以在您的终端上运行以下命令,这取决于您是使用 npm 还是纱线:
npm view react version or yarn view react version
或者您也可以在您的项目中打开 package.json 文件,位于“依赖关系”检查“反应”之下: 分号之后将是您的反应版本
如果您已经部署了使用 webpack 的应用程序。您可以使用下面的步骤来识别“反应”和“反应领域”。
appName
() = > (loadStrictVersionCheckFallback (“ default”,“ response”,[ ,[1,17,0,0] ,[1,16,8,0] ,1] ,//
() = > (loadStrictVersionCheckFallback (“ default”,“ response-dom”,[ ,[1,17,0,0] ,[1,16,8,0] ,1] ,//
或者
寄存器(“反应 -dom”,“17.0.2”,()//. . 东西
寄存器(“反应”,“17.0.2”,()//. . 东西
注意: 它只适用于已部署的应用程序
如果您启用了 React DevTools 扩展,您可以在控制台中执行: window.__REACT_DEVTOOLS_GLOBAL_HOOK__.renderers.get(1).version
window.__REACT_DEVTOOLS_GLOBAL_HOOK__.renderers.get(1).version
下面是我在自己的网站上执行时的输出( nikolovlazar.com )
使用命令行命令检查 ReactJS 的版本。