React Native入门系列:创建我的第一个RN Project

一、前言

1.准备

在创建RN之前,我们需要先安装相应的工具和搭建环境。
可以参考我上一篇文章:React Native入门系列:如何搭建RN环境(Windows篇)

2.目标

本章例子中文章达到目标:

  • 创建RN项目步骤
  • 在创建中遇见的问题解决
  • 配置WebStrom

建议下载最新版WebStrom: 官方最新版WebStrom下载地址

  • 使用WebStorm+AndroidStudio来写RN程序
3.项目地址

二、开启大表哥代码模式

1.创建RN项目
  • 在E盘根目录下 创建一个ReactSpace文件夹 用于储存RN项目
  • cmd打开dos命令窗口,开始创建RN项目,如下命令:
    react-native init FirstRNProject
    
初始化创建项目.png
  • 当你的项目创建完毕后,会在你所指定创建的文件夹下面多出一个文件夹,这个就是你当前创建的RN Project,用webStrom打开项目,目录结构大致如下:
RN项目结构.png
  • 此刻我们应该启动服务端(packager),我们新打开一个cmd窗口,定位到项目根目录,命令如下:
      react-native start 
    
或者
    npm start
启动服务端.png
  • 启动完成后,先关联设备,这样才能够在手机上面正常调试:

手机的wifi和电脑处于同一个局域网下面,并使用8081端口(切记要保证手机和电脑在同一网段,且没有防火墙阻拦)。
可通过ipconfig命令查看电脑IP

查看IP.png

然后在手机上面手动添加代理

手动代理.png

手机添加关联完毕!(这个时候你用手机打开任意App可以看见你的npm在跑)

  • 打开手机调试模式连接电脑,新建一个cmd窗口(切记 保持服务端(packager)在运行),在项目根目录下输入运行命令(以Android为例子),命令如下:
      react-native run-android
    

等命令执行完毕,app会自动运行并且打开
这个时候有的手机会显示一片红色,这个时候,一般是服务端正在加载数据或者加载错误,解决办法就是点击下面中间的RELOAD重新加载,或者等一会儿。

加载错误.png

有的手机做完了上面所有步骤,发现界面一片空白,这种情况是因为悬浮窗权限被禁用,去权限管理里面打开权限,重新打开APP,就可以解决该情况。
启动成功界面应该是下图:

成功结果.png

此时此刻,你已经能够自己创建项目并且运行了。

2.安装配置WebStrom
注意:建议使用2017系列版本的WebStrom,因为后面我们要用到npm功能,老版本是没有的。
  • 安装WebStrom

文章开头我已经给出了最新版WebStrom下载地址,这里我说一下2017版本破解方法:
2017.2.27更新
选择“license server” 输入:http://idea.imsxm.com/
2016.2.2 版本的破解方式:
安装以后,打开软件会弹出一个对话框;选择“license server” 输入:http://114.215.133.70:41017

  • 导入项目

点击Open,打开项目,点开index_android.js发现有报错,原因是由于 React Native 是基于 React 的,而 React 使用的是 JSX 语法,因此,使用 WebStorm 开发 React Native 之前,我们首先需要设置支持的 Javascript 语法,点击 WebStorm-Preferences,在打开的对话框中选择 Javascript language version 为 React JSX(有的版本是JSX Harmony) 即可在代码编辑器中识别 JSX。

设置JSX.png
  • 配置npm

维基百科,什么是npm(全称Node Package Manager,即node包管理器)?

点击Edit Configurations

配置npm.png

点击添加一个npm

添加npm.png

配置npm参数

参数配置.png

配置成功后,现在我们回到编辑界面基本上就可以装逼了

  • 启动服务

首先,我们可以关闭之前我们用cmd启动的服务,现在改为直接在WebStrom来启动这个服务,如图:

启动服务.png

这个时候我们就可以很容易出现以下错误

错误.png

提示 “Packager can’t listen on port 8081” ,说明 8081 端口被占用,这里有两个 解决方案:

方案一: 可以检查是什么程序占用了这个端口并杀掉它

方案二:修改默认8081端口(记得手机设备端口号对应修改)

  • 方式一:启动服务前,使用如下命令,改变端口号

    react-native start --port 8083
    
  • 方式二:手动修改项目下的node_modules\react-native\local-cli\server\server.js下的方法server.js文件,如下图所示。

修改端口.png

完了过后就可以愉快的启动服务了。

打开IDE中的terminal窗口(切记 不要关闭服务,保持run窗口的数据在跑)
然后,输入命令: react-native run-android 回车安装到手机
这样,通过WebStrom就完成了整个RN程序运行。现在我们就可以开始用代码搞事情了。

搞事情.gif

下面,我都以Android RN程序为例子:
打开index.android.js文件可以修改,然后 react-native run-android重新安装

修改后.png

Load完成后,效果如下:

效果.png
  • WebStrom的代码自动提示配置

1.clone ReactNative-LiveTemplate项目到本地
React Native默认不能智能提示代码,github有一个开源的插件:ReactNative-LiveTemplate开源地址
ReactNative的代码模板,包括:
组件名称
Api 名称
所有StyleSheets属性
Mac中调用ReactNative组件时, 首先 按下 command + J , 然后输入属性名的 首字母 如输入onP 自动提示 onPress, onPressIn, onPressOut, ....

2.添加ReactNative.jar导入到setting

导入setting.png

导入成功后,效果如下:

导入后.png

说明代码智能提示设置导入成功!

2.使用WebStrom+AndroidStudio协作开发
  • WebStrom用做服务端,保持服务开启,并且在WebStrom中可以修改js逻辑代码
  • AndroidStudio可以用于安装APP,和修改Android App原生代码

1.导入RN项目结构中的android到AS中,等待build成功,如下图

AndroidStudio界面.png

2.现在我们可以run来安装APP可以替代 react-native run-android命令

快速运行.png

三、RN学习推荐

如果我的文章有帮助到您,请点个赞,您的鼓励将是我写作的最大动力

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容