1、安装node watchman
brew install node
brew install watchman
安装完成后修改下npm镜像,参考链接
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://registry.npm.taobao.org/ --global
Watchman则是由 Facebook 提供的监视文件系统变更的工具。安装此工具可以提高开发时的性能(packager 可以快速捕捉文件的变化从而实现实时刷新)。
2、安装yarn和rn的命令行工具react-native-cli)
Yarn是 Facebook 提供的替代 npm 的工具,可以加速 node 模块的下载。React Native 的命令行工具用于执行创建、初始化、更新项目、运行打包服务(packager)等任务。
npm install -g yarn react-native-cli
安装完之后记得更改下yarn的镜像
yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global
安装完 yarn 之后就可以用 yarn 代替 npm 了,例如用yarn代替npm install命令,用yarn add 某第三方库名代替npm install 某第三方库名。
3、创建新项目
cd进要创建项目的文件夹中
react-native init demoName
这个方法创建的是默认最新版rn的项目,可以在package.json文件夹中查看项目所用的rn版本
"dependencies": {
"react": "16.9.0",
"react-native": "0.61.2"
},
如果像创建其他版本的项目,可以在后面加上版本号
react-native init MyApp --version 0.44.3。
iOS项目需要安装cocoapods的第三方,
cd进ios文件夹,执行pod install执行安装。
PS: rn版本0.61.2版本已经会自动安装cocoapods了,不需要在手动进行pod install安装。
4、运行项目
进入到项目根目录中,执行运行方法然后就会在模拟器上运行了,真机运行参考链接。
cd demoName
react-native run-ios
不知道我这个版本这样运行时总是提示找不到模拟器,还可以直接指定模拟器运行
react-native run-ios --simulator "iPhone 8"
react-native run-ios --device "XXX"(xxx代表真机设备名字)
查看所支持的模拟器和设备,参考链接
xcrun simctl list devices
ps: 如果新创建的是老版本的rn的话,运行时也会找不到模拟器,需要修改node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js文件中的函数,参考链接
if (version.indexOf('iOS') !== 0 )
改成
if (!version.includes("iOS" ))
if (simulator.availability !== '(available)')
改成
if (simulator.isAvailable !== true)
接下来你就能在app.js中开始写程序了。
PS: node_modules文件夹中存放package.json中所下载的第三方包,这个文件可以删除并通过npm install进行重新下载。方法如下
npm install rimraf -g //安装删除工具
rimraf node_modules //删除node_modules 文件夹
PS: 项目运行成功后可以command+d然后打开热加载模式,每次更改js文件后只需要执行保存,页面就会从新加载,如果更改原生代码的话,还需要在终端重新run之后才能生效。