android - “无法从资产 'index.android.bundle' 加载脚本。确保...”
问题描述
似乎 Metro Bundler 没有加载......它正在打开和关闭,我看不到在关闭之前没有任何东西在里面运行。出于这个原因,模拟器没有运行应用程序。
运行后出现错误:
反应原生初始化项目
react-native run-android
**System:**
OS: Windows 10
CPU: (2) x64 AMD A4-6300 APU with Radeon(tm) HD Graphics
Memory: 1.49 GB / 7.21 GB
Binaries:
Node: 12.13.0 - C:\Program Files\nodejs\node.EXE
Yarn: 1.19.1 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 6.12.0 - C:\Program Files\nodejs\npm.CMD
SDKs:
Android SDK:
API Levels: 23, 27, 28
Build Tools: 23.0.1, 27.0.3, 28.0.3
IDEs:
Android Studio: Version 3.5.0.0 AI-191.8026.42.35.5900203
npmPackages:
react: 16.9.0 => 16.9.0
react-native: 0.61.3 => 0.61.3
包.json
{
"name": "first_app",
"version": "0.0.1",
"private": true,
"scripts": {
"android": "react-native run-android",
"ios": "react-native run-ios",
"start": "react-native start",
"test": "jest",
"lint": "eslint ."
},
"dependencies": {
"react": "16.9.0",
"react-native": "0.61.3"
},
"devDependencies": {
"@babel/core": "^7.6.4",
"@babel/runtime": "^7.6.3",
"@react-native-community/eslint-config": "^0.0.5",
"babel-jest": "^24.9.0",
"eslint": "^6.6.0",
"jest": "^24.9.0",
"metro-react-native-babel-preset": "^0.56.3",
"react-test-renderer": "16.9.0"
},
"jest": {
"preset": "react-native"
}
}
解决方案
之后我得到了解决方案:
用这个替换代码。文件的路径是 -
node_modules\metro-config\src\defaults\blacklist.js
var sharedBlacklist = [
/node_modules[\/\\]react[\/\\]dist[\/\\].*/,
/website\/node_modules\/.*/,
/heapCapture\/bundle\.js/,
/.*\/__tests__\/.*/
];
并且还在根项目文件夹中运行以下命令:
npm i -g jetifier
npx jetify
我希望它可以帮助某人。
感谢社区。
推荐阅读
- javascript - 如果键与数组值匹配,如何获取值
- javascript - 反馈加载 iframe 有时效果不佳
- c - 这个函数做了什么来帮助它以不同的方式接受输入以及 for 循环中的条件是如何执行的
- python - 删除 Beautiful Soup 中的标签
- javascript - Firstore 数据不起作用
- javascript - 对象标签的数据属性是否有错误事件?
- ruby-on-rails - 使用自定义时间安排任务
- graphql - 如何使用 GraphQL 和 node 实现接口
- javascript - 使用“多个”属性设置输入的默认值
- angular - 避免在材料日期选择器组件中取未来日期