React native运行报错:Unable to load script.Make sure you are either running a Metro server or that...

前提:不管是公司现有的项目,还是根据官方文档初始化的项目都出现了这个问题

可以尝试的解决方式:

第一种:端口问题

        检查本地是否有其它进程占用了8081端口,因为Metro打包运行时自动使用8081端口(我就是这个问题 排查了一天 最后发现本地有别的h5项目用的8081)

第二种:不太一劳永逸的方法

        1. 先清理项目并重置Metro缓存,依次输入以下命令

cd android
./gradlew clean

        2. 返回根目录 cd ..

        3. 运行以下命令,这个命令相当于手动打包。并且打包的是生产环境的包、指定了入口文件、指定了bundle的输出目录、指定了静态资源的输出目录。缺陷:每次代码更新都需要执行这个命令

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

坑点:

    1. 根据官方文档初始化的项目的pakage.json中缺少依赖项@react-native-community/cli-platform-android,但是在android/settings.gradle中是有使用到的,所以在npm start后报错,需要将这个依赖安装

     2. 如果启动后出现一些奇怪的错误,可以多次尝试清除Metro缓存: cd android、./gradlew clean

     3. 启动时尽量使用这个命令pnpm start --reset-cache 可以清除缓存,Android Studio的模拟器选项Wipe Data也可以用用

暂时就先这么多 如果后期还有相关的 会更新......

参考文档:

https://stackoverflow.com/questions/55441230/unable-to-load-script-make-sure-you-are-either-running-a-metro-server-or-that-yo?page=2&tab=scoredesc#tab-top
https://medium.com/@adityasingh_32512/solved-unable-to-load-script-from-assets-index-android-bundle-bdc5e3a3d5ff
https://blog.csdn.net/yuxinabc/article/details/107577443

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值