2024-11-11
2015年Facebook提出的开源框架。
允许通过React语法,开发iOS和Android原生应用
Expo
React native
React native 和 Expo的关系,相当于React和nextjs的关系,是在原有基础上,继续封装。
推荐使用expo来安装react Native。
这是一个第三方工具,但是完全免费。
封装许多功能,让你少写很多代码。
随时都可以转换成原生。
为什么使用expo?
React Native官网环境搭建 - React Native中文网
之所以用pnpx,就是要用到pnpm
,这个在国内下包比较快,而且有处理过程。
另外,如果下载速度慢,需要切换到国外代理。
pnpx create-expo-app RNCourse --template blank
注意,如果不用blank的模版,会包括typescript。我们暂时不想要这么复杂。
下载Expo Go
这个App
npm start
启动应用,出现一个二维码。
如果是苹果手机,打开相机扫描二维码,选择从Expo Go打开链接。
选择支持play store
的模拟器。按a
即可开启预览。
按i
即可。
新建.watchmanconfig文件,输入
{
"root": true
}
重新启动watchman
watchman shutdown-server
pnpm start --reset-cache
因为React Native还在测试阶段,还没有1.0版本,所以经常会变,建议参考官方教程: 官方搭建环境教程
版本必须>=12
npm config set registry https://registry.npm.taobao.org
facebook推出的
npm install -g yarn
npm install -g react-native-cli
注意,Windows下只能搭建Android开发环境
参考Java JDK的安装 目前不支持高于Java17的JDK版本
更新:直接按照官方教程用Homebrew安装。
brew install --cask zulu@17
# Get path to where cask was installed to double-click installer
brew info --cask zulu@17
安装完需要进到文件夹双击安装包,进行java17的安装。
下载Android Studio 这是下载官网,需要科学上网。
安装完占8个G的空间
虽然Android Studio会安装最新的SDK,但是React Native需要Android 14的SDK
通过setting-Languages & Framework-Android SDK查看sdk的位置:
/Users/lxz/Library/Android/sdk
# 如果你不是通过Android Studio安装的sdk,则其路径可能不同,请自行确定清楚
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/platform-tools
source $HOME/.zshrc
echo $ANDROID_HOME
npm uninstall -g react-native-cli @react-native-community/cli
npx @react-native-community/cli@latest init AwesomeProject
最新版本可能失效,参考cli官方版本。
如果遇到latest错误
,需要指定版本:
npx @react-native-community/cli@latest init MyApp --version 0.75.2
需要在根目录创建一个.vscode文件夹,再创建settings.json文件,输入以下配置:
{
"files.watcherExclude": {
"**/node_modules/**": true,
"**/dist/**": true
}
}
在android文件夹下,找到build.gradle,加上阿里源:
repositories {
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
google()
mavenCentral()
}
找到gradle.properties文件,添加一下代码进去:
# 添加代理设置
systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=1087
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=1087
ES7 React/Redux/GraphQL/React-Native
Facebook推出的,监控文件变化的工具。
react-native init <myproject>
cd myproject
Andorid项目直接运行:
yarn android
iOS项目需要先安装pod依赖,再运行
cd ios && pod install && cd ../
yarn ios