브라우저에서 React의 런타임 버전을 알 수있는 방법이 있습니까?
__REACT_DEVTOOLS_GLOBAL_HOOK__.renderers.values().next()["value"]["version"]
브라우저에서 React의 런타임 버전을 알 수있는 방법이 있습니까?
__REACT_DEVTOOLS_GLOBAL_HOOK__.renderers.values().next()["value"]["version"]
답변:
React.version
당신이 찾고있는 것입니다.
(내가 아는 한) 문서화되어 있지 않으므로 안정적인 기능이 아닐 수 있습니다 (예 : 가능성이 낮지 만 향후 릴리스에서 사라지거나 변경 될 수 있음).
React
스크립트 로 가져온 예
const REACT_VERSION = React.version;
ReactDOM.render(
<div>React version: {REACT_VERSION}</div>,
document.getElementById('root')
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="root"></div>
React
모듈 로 가져온 예
import React from 'react';
console.log(React.version);
분명히 React
모듈로 가져 오면 전역 범위에 포함되지 않습니다. 위의 코드는 앱의 나머지 부분에 번들로 제공됩니다 (예 : webpack 사용) . 브라우저의 콘솔에서 사용하면 거의 작동하지 않습니다 (베어 입력 사용).
이 두 번째 방법이 권장됩니다. 대부분의 웹 사이트에서 사용합니다. create-react-app 이이 작업을 수행합니다 ( 뒤에서 웹팩을 사용하고 있음 ). 이 경우 React
는 캡슐화되어 있으며 일반적으로 번들 외부 (예 : 브라우저 콘솔)에서 전혀 액세스 할 수 없습니다.
version
속성을 가져와야합니다 .
Uncaught ReferenceError: require is not defined
그리고Uncaught ReferenceError: React is not defined
명령 줄에서 :
npm view react version
npm view react-native version
Chrome Dev Tools 또는 이와 동등한 도구를 열고 require('React').version
콘솔에서 실행 합니다.
Facebook과 같은 웹 사이트에서도 작동하여 사용중인 버전을 알아냅니다.
ReferenceError: require is not defined
React Devtools가 설치되어 있으면 브라우저 콘솔에서 실행할 수 있습니다.
__REACT_DEVTOOLS_GLOBAL_HOOK__.renderers.forEach(r => console.log(`${r.rendererPackageName}: ${r.version}`))
다음과 같이 출력됩니다.
react-dom: 16.12.0
전역 ECMAScript 변수가 내보내 졌는지 확실하지 않으며 html / css가 반드시 React를 나타내는 것은 아닙니다. 따라서 .js를 살펴보십시오.
방법 1 : ECMAScript에서보기 :
버전 번호는 react-dom 및 react 모듈 모두에서 내보내 지만 해당 이름은 번들링 및 액세스 할 수없는 실행 컨텍스트 내에 숨겨진 버전을 통해 제거되는 경우가 많습니다. 영리한 중단 점은 값을 직접 나타내거나 ECMAScript를 검색 할 수 있습니다.
방법 2 : DOM 중단 점 사용 :
Inspect Element
Elements
창이 표시됨Break On… - subtree modifications
Sources
창을 표시합니다.Call Stack
하위 창을 확인합니다.render
항목ReactDOM.render
render
. 렌더링을 호출하는 코드react-dom
모듈 수출 객체
version: "15.6.2"
. 내 보낸 모든 값react-dom
버전도 React 개발 도구에 삽입되지만 내가 아는 한 어디에도 표시되지 않습니다.
콘솔을 열고 window.React.version
.
이것은 0.12.2에서 16.2.0으로 업그레이드하는 동안 Safari와 Chrome에서 저에게 효과적이었습니다.
create-react- app으로 만든 앱의 경우 버전을 확인했습니다.
앱이 소스 맵없이 배포되었습니다.
설치되지 않은 경우 먼저 React 개발 도구를 설치 한 다음 브라우저 콘솔에서 아래 코드를 실행하십시오.
__REACT_DEVTOOLS_GLOBAL_HOOK__.renderers.get(1).version