ReactNative是近段时间很火的一个框架,同时具备了原生app的流畅度和H5的热更新特征,最近正好有时间便开始弄ReactNative,关于RN,网上的资料并不是很多,而且很多比较陈旧,因此也走了些弯路,这里把整个的环境配置到第一步开发的过程记录下来。
参考网站:React Native 中文网
环境配置
1、安装Homebrew
Homebrew是Mac系统的包管理器,用于安装NodeJS和一些其他必需的工具软件。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2、安装Node.js
使用Homebrew来安装Node.js
brew installnode
关于Node,有兴趣的同学可以参考http://www.runoob.com/nodejs/nodejs-tutorial.html
安装完node后建议设置npm镜像以加速后面的过程(或使用科学上网工具):
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
3、安装Watchman
Watchman是由Facebook提供的监视文件系统变更的工具。安装此工具可以提高开发时的性能(packager可以快速捕捉文件的变化从而实现实时刷新)。网上有的说这个可以不用装,但我没安装会报错,所以推荐还是装下,测试也方便很多。
brew install watchman
4、安装React Native的命令行工具(react-native-cli)
使用Homebrew来安装Node.js.
npm install -g react-native-cli
至此iOS配置已经全部完成^_^,如果要检查某个工具是否有被正确安装,可以通过查看其版本号来确认(比如node -v)
新建ReactNative项目
新建项目比较简单,RN提供了相当便捷的方式,只要一条命令即可搞定 ,先CD到想要创建的目录,接着输入
react-native init 项目名
这里创建了一个名为RNDemo的项目
完成后的项目结构如下
其中package.json包含了RN中的设置和各种依赖,index.ios.js为默认入口,打开RNDemo.xcodeproj即可运行。(注意package.json和index.ios.js两个文件,添加现有工程会用得到)
现有工程中添加ReactNative
1、先使用新建一个项目,这里新建一个RNNewDemo的项目
2、CD到RNNewDemo目录下,进行ReactNative初始化
npm install -g react-native-cli
3、配置package.json与.js文件
将新建RN工程得到的package.json文件复制到项目目录下,并修改其内容
"name": "RNNEWDemo",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
第一行"name": "RNNEWDemo",改为自己的工程名(这里改为了RNNEWDemo),接下来进行安装
npm install
接着配置.js文件(即入口文件),在根目录下将新建RN工程得到的index.ios.js,并修改该文件中最后一行AppRegistry.registerComponent('RNNEWDemo', () => RNNEWDemo);以及export default class RNNewDemo extends Component中的class为自己的应用名,。此时目录结构应该为
4、使用cocopods进行Reactnative集成
touch Podfile
修改Podfile里的内容如下(下面的target为自己项目名称,注意path里的路径不要错了)
target ‘RNNewDemo’ do
pod 'React', :path => './node_modules/react-native', :subspecs => [
'Core',
'ART',
'RCTActionSheet',
'RCTAdSupport',
'RCTGeolocation',
'RCTImage',
'RCTNetwork',
'RCTPushNotification',
'RCTSettings',
'RCTText',
'RCTVibration',
'RCTWebSocket',
'RCTLinkingIOS',
]
end
接下来开始install
pod install
install完成后便全部成功嵌入了
运行工程
以嵌入的现有工程为例(RNNewDemo)
1、开启服务
依旧是cd到项目根目录,接着输入
npm start
出现下面表示成功开启了npm服务
2、在xcode工程里配置相应代码
打开xcworkspace文件,进入appdelegate写代码吧
接着运行,大功告成^_^,只需修改js文件内容,然后cmd+r即可刷新模拟器