美文网首页
React Native之使用CRNA和expo进行开发

React Native之使用CRNA和expo进行开发

作者: xsic | 来源:发表于2018-12-15 14:44 被阅读112次

一、CRNA

开发React Native时主要有两种创建方式

1. CRNA

create-react-native-app demo

2. INIT

react-native init demo

我们先来看看两种不一样的方式创建出来的项目有什么不一样

CRNA: 2018-12-15_133509.jpg
INIT: 2018-12-15_134537.jpg

最直观的就是使用CRNA初始化的项目不再分Android文件夹跟ios文件夹了。
只要在CRNA的命令中输入

expo eject

你的项目就会开始反编译(不知道这个词恰不恰当),等待eject完成之后,再看看你的项目目录

2018-12-15_135827.jpg
是不是感觉跟INIT出来的项目目录差不多?
其实可以将CRNA看作是INIT的封装版,它将一些脚本和工具都封装起来,当你运行了eject命令之后,就会将封装在里面的文件都反编译出来,这样你就可以获得某些文件的控制权了(同理还有创建react项目时的脚手架:create-react-app,只有eject之后你才可以配置webpack)

二、expo

那用CRNA初始化的项目有什么好处?那就是除了使用模拟器运行之外,还可以使用我们接下来要介绍的工具——expo,进行预览项目。

下载(https://expo.io/tools)


记得点红圈圈内的链接,下面的链接需要FQ才可以下载,而且还要注册谷歌账号,比较麻烦

下完之后装到手机上,在CRNA项目的命令行输入

npm start

等待跳出二维码,然后打开手机的expo,扫描屏幕的二维码,就可以在你的手机查看项目了,是不是感觉很方便

三、必看注意项

1.

在使用expo预览项目时,请确保你的电脑和手机处于同一wifi网络下(手机开热点给电脑,或者反过来)

2.

在你按照步骤扫描二维码后,很大几率在手机上会遇到这个错误:

Something went wrong.
can not load app exp://....(ip地址)

这是因为expo默认选择以太网适配器,而电脑和手机是在wifi下连接的,因此需要手动将ip地址改成无线网络适配器(你也可以先打开终端输入ipconfig,看看显示错误的那个ip地址是不是跟无线网络适配器的ip地址不同),在项目命令行输入
windows系统:

set REACT_NATIVE_PACKAGER_HOSTNAME='无线适配器的ip'

ios或linux系统:

REACT_NATIVE_PACKAGER_HOSTNAME='无线适配器的ip' 

现在再运行一下就可以顺利在手机预览你的项目了

相关文章

网友评论

      本文标题:React Native之使用CRNA和expo进行开发

      本文链接:https://www.haomeiwen.com/subject/vehghqtx.html