[英]Detect if using nextJS, react or 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
object 或document
object 是否已定义。 在 nodeJS 下, window
是未定义的。
React Native 定义了常见的浏览器对象,如 window 和文档,以确保目标浏览器的库工作。 这是代码的链接。 https://github.com/facebook/react-native/blob/master/Libraries/Core/InitializeCore.js
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.