当前位置:首页 >> 网络编程

VSCode搭建React Native环境

安装 React Native Tools

在插件市场搜索 react 找到 React Native Tools 进行安装:

VSCode搭建React Native环境

创建的react-native的工程拖入vscode中

VSCode搭建React Native环境

点击F5即可运行react-native

此时可能出现 如下界面,这是因为没有配置运行文件

VSCode搭建React Native环境

在debug 页面,点击如下位置,添加configurations

VSCode搭建React Native环境

然后点击添加配置,选择debug android

VSCode搭建React Native环境

此时点击F5,则可出现如下界面,表示 react-native以运行起来

VSCode搭建React Native环境

VSCode搭建React Native环境

此时发现断点无法生效,且log的信息感觉特别难看,和使用chrome比起来更难用。

进行断点调试

在模拟器界面,按 Ctrl + m,打开js调试(点击 Debug JS Remotely)

VSCode搭建React Native环境

再看控制台,就用 console.log 的日志内容了

VSCode搭建React Native环境

此时进行断点也是生效的了。

VSCode搭建React Native环境

打开安卓模拟器

在as里创建安卓模拟器过程就不说了,使用as打开模拟器无疑是最简单的方式,但是vs + as + 模拟器,电脑受不了啊,所以这里有两种不开as打开模拟器的方式:

在Android\SDK\emulator新建一个bat文件,内容如下,Nexus_5X_API_28 是模拟器的名字(在avd目录可查看名字),然后运行此bat文件就 ok啦。

emulator.exe -netdelay none -netspeed full -avd Nexus_5X_API_28

VSCode搭建React Native环境

如果安装过flutter的环境,且vs也进行了相关配置,可以直接使用vs打开模拟器,进入flutter的工程中,点击右下角的 No Devices 选择想要打开的模拟器即可:

VSCode搭建React Native环境

VSCode搭建React Native环境

使用bat打开模拟器的方式有时会使react-native的找不到设备,此时是用as打开或使用flutter的方式打开就没这个问题了,在或者清除下模拟器的数据。

记录一些奇葩的错误

出现如下错误:

无法进行调试。执行命令 react-native.cmd run-android --no-packager 时出错: 执行命令 react-native.cmd run-android --no-packager 时出错 (error code 101)

可能原因:
1. 查找不到模拟器了,我试了下重启模拟器就没问题了。
2. 查看模拟器是否开启了USB调试,或即使开启了,再关了,开一次(位置:Settings => System => Developer options(为打开开发者模式的话,得先进入About emulated device 狂点里面的 Build number))

adb 连接 出现 emulator-5554 unauthorized 此时可以尝试:

  • 输入 adb kill-server ,然后在查找就会发现设备处于连接状态了。
  • 删除.android目录下 adbkey adbkey.pub 然后重启模拟器。
  • 打开设置,选择 System -> Reset options 点击里面的 Reset app preferences。
  • 实在不行的话,打开 android studio 清除模拟器数据 wipe data。

VSCode搭建React Native环境

出现如下错误:(出现了多处错误,如路径错误,重新运行,就可以看到具体的错误)

Error: {"type":"InternalError","errors":[],"message":"Metro Bundler has encountered an internal error, please check your terminal error output for more details"}。调试将不起作用: 请尝试从应用内重新加载 JS,或重新连接 VS Code 调试器: 无法在 <http://localhost:8081/index.bundle?platform=android&dev=true&minify=false> 处导入脚本 (error code 1408)