You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用React Native CLI运行报错unable to load script且无blacklist.js如何解决?

unable to load script. Make sure you are either running metro(run 'react-native start') or that your bundle 'index.android.bundle' is packaged correctly for release

React Native 0.60+ 版本已经移除了单独的blacklist.js配置文件,相关排除规则已经整合到项目根目录的metro.config.js中,不需要再找这个文件,可按以下步骤排查修复:

第一步:优先排查基础运行问题

  • 先确认Metro服务是否正常启动,新开一个终端窗口执行npx react-native start,保持窗口不关闭,再重新执行npx react-native run-android
  • 确认你的Android设备/模拟器和开发电脑处于同一局域网,没有代理或防火墙拦截8081端口
  • 可以在设备的RN调试菜单(摇一摇调出)的Settings→Debug server host for device中,填入你电脑的局域网IP加8081端口,例如192.168.1.102:8081,重启应用再试

第二步:缺失index.android.bundle的修复方案

如果确认Metro正常运行还是报错,按以下步骤生成bundle文件:

  1. 先在项目的android/app/src/main目录下新建assets文件夹,如果已经存在可以跳过这一步
  2. 在项目根目录执行打包命令:
npx 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. 执行完成后重新运行npx react-native run-android即可

第三步:原blacklist.js相关需求的替代方案

如果你之前查到的方案需要修改blacklist.js排除冗余文件,可直接在根目录的metro.config.js中添加resolver.blacklistRE配置即可,示例配置如下:

const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');

const config = {
  resolver: {
    blacklistRE: /(node_modules\/.*\/node_modules\/react-native\/.*/,
    // 把你需要排除的路径正则写到这里即可
  }
};

module.exports = mergeConfig(getDefaultConfig(__dirname), config);

修改完成后重启Metro服务即可生效。

内容的提问来源于stack exchange,提问作者user14299934

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 06:48:02