【问题标题】:How to run a react native app (a bare workflow from expo or a regular one) in web (browser)?如何在 web(浏览器)中运行 react native 应用程序(来自 expo 的裸工作流或常规工作流)?
【发布时间】:2021-05-28 21:55:25
【问题描述】:
我正在尝试在浏览器上将我的 React Native 应用程序作为网站运行。
我试着按照https://necolas.github.io/react-native-web/docs/installation/去,但是Setup页面上的说明不清楚。
我发现了一些(罕见的)关于此的帖子,但它们很旧(2019 年)并且似乎与上面链接中的信息有所不同。
我使用yarn android 在安卓上运行它。
所以,我尝试使用yarn web。没用。
另外,尝试了基本的react-native start,然后是react-native run-web。
看来run-web 命令不是我们所需要的。
任何帮助表示赞赏。
附:我通过 Expo 将我的项目初始化为一个 Bare Workflow 项目。希望有帮助
【问题讨论】:
标签:
react-native
react-native-web
【解决方案1】:
根据文档:
Expo for web 可以在任何 React Native 项目上运行。当您使用 expo-cli 使用裸工作流模板初始化新项目时,如果您运行 yarn web 或 npm run web,它将启动 expo-cli 并在 Web 浏览器中打开您的项目。
托管工作流中的相同网页指南适用于此。
所以基本上只需使用expo init project-name 初始化您的项目,然后选择bare workflow 或managed workflow。之后你可以执行npm run web。它将打开浏览器并运行它的网络版本。请记住,expo 中的库存在一些不兼容问题,例如,Webview 在 Web 上不兼容,因此您需要在 Web 上切换到 iframe 左右。