【问题标题】:How to make same js library work in both browser and react native?如何使相同的 js 库在浏览器中工作并做出原生反应?
【发布时间】:2020-05-13 07:01:56
【问题描述】:

我有一个 js 库,我想在 browserreact native 中都可以使用它。大多数代码是可重用的,但有些部分需要平台调节。比如:

if (react_native) { 
  do rn stuff 
} else { 
  do browser stuff 
}

我在开源项目中看到过这样的标志,但我不知道如何访问它们?

【问题讨论】:

  • 我以前从未做过 react-native。但我找到了Platform api。看起来Platform.OS 将是:ios / android / web 等您可以在您的情况下使用吗?这是snack
  • 这适用于 react native,但是如果我在 reactjs 应用程序中运行它会怎样?会不会只是未定义?
  • 是的。那将是undefined。你能分享这些开源库的名字吗?我想阅读它们。
  • 假设你想出了一个库,当涉及到依赖项时会不会有问题,比如当你安装到网络时它仍然会安装 RN 依赖项,反之亦然?

标签: javascript node.js reactjs react-native browser


【解决方案1】:

全局对象window只存在于浏览器环境中,所以你可以检查它是否被定义你在浏览器中,如果没有它可以在任何其他环境中,例如react-nativenode.js等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-06
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多