工程的新建
根据这两天的了解,新建一个RN
的工程主要有两种方式(注意,首次创建工程必须要联网操作才行)
- 一种是在
terminal
中用代码去创建工程,运行后生成的项目,用webstorm
打开 - 一种是直接用
webstorm
创建一个RN
工程
RN的版本问题
- 感觉上,每一个新建的
RN
,都有与之对应的版本。这一点似乎同python
新建一个工程时,他对应的虚拟环境中可以指定当前python
的版本类似。
我们用命令行创建一个RN
工程的同时,他默认使用的是当前电脑中安装的最新版。 - 如果要降级使用(目前还在入门,尚不知何时会出现降级的状态),可以
cd
到该工程目录,然后指定升级到某个版本
$ react-native-git-upgrade
# 这样会直接把react native升级到最新版本
# 或者是:
$ react-native-git-upgrade X.Y.Z
# 这样把react native升级到指定的X.Y.Z版本
分别介绍创建方法
新建之前更新RN
由于RN
本身更新频繁,有时若不更新版本而去新建工程,有可能会报warning
$ react-native-git-upgrade
# 这样会直接把react native升级到最新版本
用终端创建新工程的操作的方法:
打开terminal
,输入
react-native init PrjName
cd PrjName
react-native run-ios
- 第一句是在根目录下创建一个
PrjName
文件夹用于存放一个工程名为PrjName
的RN
工程
其实创建以后,我们已经可以去手动打开这个工程了。 - 第三句是直接在模拟器中运行当前工程的
iOS
版本
通常我个人的感觉是不去使用第三种。而是直接去工程目录下打开iOS
的工程.这样做的好处有- 通过命令运行的模拟器,无法指定机型,而
Xcode
可以. - 我们本身是原生开发人员,比较熟悉
Xcode
- 直接编译这个
Xcode
下的工程,查看错误.
这里通常会报一个头文件的链接错误
#import <React/RCTBundleURLProvider.h>
解决方法是去edit scheme
中修改,如下图, 最底下那一栏只有test
勾选了.
stack over flow上的解决方法
- 通过命令运行的模拟器,无法指定机型,而
最后,创建,修改代码,用WebStorm
去打开,并在其中修改index.ios.js
用WebStorm
直接创建
创建的过程不赘述。

通过WebStorm
创建的工程,可以直接在右上角选择,对原生进行编译。(可选ios/android)
区别与优劣
用命令行创建
- 优点:
用命令行创建,用webstorm打开/修改/编辑,可以避免直接用IDE创建时版本的问题。而且可以根据实际情况去修改版本。(官网的建议是使用最新的RN做开发,本人不予置评(因为还在入门阶段))
可以自己控制打开原生IDE并选择模拟器/真机。 - 缺点
命令行,你懂得……敲起来很麻烦。
用WebStorm
创建
理论上是已经高度集成,但是就目前的了解情况来看,自由度还是受限制。而且版本的问题,可能会无法知悉到底目前使用的RN
版本和警告到底出在哪里。也不利于切换机型和屏幕适配。
综上所述,还是用命令行来创建
网友评论