React随记: React项目打包及在手机APP项目中运行

文章介绍了在React项目打包后放入APP中显示空白的解决方案,包括在`package.json`中添加`homepage`配置,将Router由BrowserRouter改为HashRouter,并详细说明了APP中运行H5页面的步骤,以及解释了为何需要将build文件放在服务器根目录或正确配置homepage字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

在做一个手机APP项目,采用App+H5混合开发,App的壳子嵌入H5页面,H5项目是用React框架写的。发现React项目打包后放入App项目,H5页面打开是空白的。已经解决,先记录一下。参考文章如下链接

react项目打包后点击index.html页面出现空白 - 七维空间 - 博客园


一、React项目打包

React项目打包流程可参考我的这篇文章,不负赘了。

React随记:React项目打包、serve服务器启动项目_鸡肋佐的博客-优快云博客

二、APP项目中运行

1.修改package.json 配置文件

        在打包之前,在 package.json 中 添加"homepage": "./"配置项

2.修改Router

         React项目组件可以用BrowserRouter和HashRouter两种方式包裹, APP项目中运行中引用路由时要用HashRouter,(出问题是因为我用了BrowserRouter)然后按上面(一、React项目打包) 再次执行打包流程,再点开index.html就不会报错

3.APP项目中运行

将打包后的文件压缩,拖入APP项目工程目录中,编写原生代码将h5.zip解压到沙盒,并通过原生WebView组件加载打开h5/index.html。

如上就成功滴将H5页面嵌入到APP项目当中了!!!!!!

三、原因

​ 你必须把build里的文件直接放到应用服务器的根路径下,比如,你的服务器IP是172.16.38.253,应用服务器端口为8080,你应该保证http://172.16.38.253:8080这种访问方式,访问到的是你的build下的文件。如果你希望以http://172.16.38.253:8080/build/index.htm这种方式访问应用,那么你可以在package.json文件中增加一个homepage字段。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值