javascript - 检测是否使用 nextJS、react 或 react-native
问题描述
我正在构建一个使用 React 应用程序的库。由于它将在 React 生态系统中运行,因此某些功能将根据环境以不同方式运行。
我正在寻找一种方法来检测当前环境是否是 ReactJS 应用程序(例如使用 create-react-app 制作),或者它是否在其上使用 NextJS 作为 SSR,或者它是否是使用 React Native 制作的移动应用程序.
是否存在了解此信息的 javascript 方式?
谢谢 :)
解决方案
要检查您的代码是否在 react native 中运行,您可以使用 navigator.product。React Native 将 navigator.product 作为“ReactNative”返回。这是已实施的提案的链接。https://github.com/facebook/react-native/issues/1331
要检查您的代码是否在 NextJS 或浏览器中运行,您可以检查是否定义了window
对象或document
对象。在 nodeJS 下,window
未定义。
React Native 定义了常见的浏览器对象,如窗口和文档,以确保目标浏览器的库工作。这是代码的链接。 https://github.com/facebook/react-native/blob/master/Libraries/Core/InitializeCore.js
推荐阅读
- python - 试图 cont unique 的 pandas 错误
- node.js - Sequelize,实例化后如何更改值?
- mongodb - $expr 查询运算符似乎不适用于数组点表示法
- ansible - 无法使用 win_copy 将文件复制到 Program Files
- fastify - 在 fastify 插件中使用 fastify 插件
- python - 访问 python numpy.matrix 中的元素
- android - 颤振中具有顶部重力和覆盖线的对话框
- node.js - 在 nodejs 和 nginx 中检测 https 的问题
- python - 如何解析用逗号分隔的浮动数字
- java - Android闪屏跳转java