【问题标题】:How to tell if a web application is using ReactJs如何判断 Web 应用程序是否正在使用 ReactJs
【发布时间】:2019-06-29 12:25:56
【问题描述】:

我知道有诸如 WappalyzerBuiltWith 之类的工具可以为您提供有关网站中使用的框架或库的信息。但是我需要一些关于 ReactJs 是否真的在网站中使用的证据。

经过一番研究,我发现像 typeof Reactwindow.React.version 这样的命令,但这些命令并非一直有效。

关于如何检查 reactJs 是否使用 Web 应用程序的任何想法?

【问题讨论】:

标签: javascript reactjs


【解决方案1】:

试试下面的 sn-p,感谢 rambabusaravanan 列出的每个站点的示例。请看下面的链接

if(!!window.React ||
   !!document.querySelector('[data-reactroot], [data-reactid]'))
  console.log('React.js');

if(!!window.angular ||
   !!document.querySelector('.ng-binding, [ng-app], [data-ng-app], [ng-controller], [data-ng-controller], [ng-repeat], [data-ng-repeat]') ||
   !!document.querySelector('script[src*="angular.js"], script[src*="angular.min.js"]'))
  console.log('Angular.js');

if(!!window.Backbone) console.log('Backbone.js');
if(!!window.Ember) console.log('Ember.js');
if(!!window.Vue) console.log('Vue.js');
if(!!window.Meteor) console.log('Meteor.js');
if(!!window.Zepto) console.log('Zepto.js');
if(!!window.jQuery) console.log('jQuery.js');

你可以在这里找到更多信息link

【讨论】:

  • 您的代码不适用于 Angular2+ 框架(基于组件的 Angular),您应该添加如下内容:window.ng.coreTokens.NgZone,另外,请添加对 Svelte 的支持。除此之外,很好的解决方案
  • React 不适用于 npx create-react-app my-app 创建的简单 React 应用程序
【解决方案2】:

我遇到了同样的问题,在我的情况下,我发现依靠React Developer Tools 更好。

您可以在谷歌浏览器中安装它,访问您要查看的网站,然后打开 Chrome DevTools。

如果网站使用 React,React 开发者工具将在 Chrome DevTools 中包含两个选项卡:

否则,React 开发者工具将不包含选项卡:

【讨论】:

  • 对于未来的读者,插件也可以在 Firefox 中使用。我想知道插件开发人员如何检测是否首先显示选项卡。
【解决方案3】:

Chrome 中有一个名为“React 开发者工具”的扩展,它允许您在 Chrome 开发者工具中检查 React 组件层次结构

https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi

还有另一个名为“React-detector”的扩展 :)

https://chrome.google.com/webstore/detail/react-detector/jaaklebbenondhkanegppccanebkdjlh

【讨论】:

  • 谢谢@cybercat。但我不是在寻找扩展或工具。我正在寻找更多的命令或代码解决方案
【解决方案4】:

按照@DILEEP THOMAS 的回答:

对于 Angular(基于组件),请使用以下代码:

if (
    window.hasOwnProperty("ng") &&
    window.ng.hasOwnProperty("coreTokens") &&
    window.ng.coreTokens.hasOwnProperty("NgZone")
  ) {
    console.log("Angular");
  }

在以下网页的控制台中运行代码:

使用 Angular2+ 的网页/应用有:https://www.samsung-forward.ru/https://www.delta.com/

Stackoverflow.com 似乎没有使用它。

【讨论】:

    猜你喜欢
    • 2017-10-03
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-09
    • 2010-10-19
    相关资源
    最近更新 更多