热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

webstorm打包rn项目_使用createreactnativeapp搭建RN开发环境

上文我们已经尝试了基于react-native-cli的环境搭建,整体下来,个人觉得是遇到的最复杂的开发环境搭建,尤其是AndroidSt
1c48877daae4d4cc4cb16c21dda5a9fd.png

上文我们已经尝试了基于react-native-cli的环境搭建,整体下来,个人觉得是遇到的最复杂的开发环境搭建,尤其是Android Studio的模拟器部分,本文我们尝试基于create-react-native-app的RN环境搭建,为了参照react-native-cli,我们尝试使用对比学习的方式。

PS:我本地有两个项目文件,first_rn_project是基于react-native-cli创建的,rn-pro是基于create-react-native-app创建的。


  • 首先我们对比最终的目录结构:

first_rn_project目录下边会生成一个ios和一个android目录,而create-react-native-app目录更加简单,我们对比一下,可以使用tree命令(需要安装)展示目录结构,命令如下:

tree -C -L 1 //只展示一级目录并高亮显示

first_rn_project

.
├── App.js
├── __tests__
├── android
├── app.json
├── babel.config.js
├── index.js
├── ios
├── node_modules
├── package-lock.json
├── package.json
└── yarn.lock

rn-pro

.
├── App.js
├── app.json
├── assets
├── babel.config.js
├── node_modules
├── package-lock.json
└── package.json

  • 初始化项目的方法和依赖

react-native-cli命令

react-native init yourProjectName //初始化
cd yourProjectName && react-native run-ios //运行ios环境
cd yourProjectName && react-native run-android //运行android环境

create-react-native-app命令

create-react-native-app yourProjectName //初始化
cd yourProjectName && npm start //启动项目

依赖

react-native-cli依赖node / watchman / jdk / android sdk,android studio / xcode 等等,而create-react-native-app可以摆脱android studio 和 xcode ,只要在手机上安装expo client就可以开发, 当然你也可以在android studio 和 xcode 查看项目效果

打包

react-native-cli打包需要依懒android studio 和 xcode , 配置繁琐。

create-react-native-app只需要 配置 app.json 然后运行 exp build:android 或 exp build:ios 就可以打包了


看了上边的这么多对比,下边我们正式进入create-react-native-app的环境搭建

  • 依赖

手机端:

安装Expo app

d89b73643b9f98bf9431b38ac89c067f.png

电脑端:

Nodejs:安装我们就不在这里重复了,自行搞定

Expo CLI:

npm install expo-cli -g //可能需要加sudo

  • 安装

npm install -g create-react-native-app //可能需要加sudo

初始化一个项目

create-react-native-app rn-pro
cd rn-pro
npm start

运行命令后终端效果如图

a44ff3f2cd087c7ddf9656e675048411.png

根据提示进行下一步操作

• Scan the QR code above with the Expo app (Android) or the Camera app (iOS).

• Press a for Android emulator, or i for iOS simulator.

• Press e to send a link to your phone with email/SMS.

• Press s to sign in and enable more options.

我们敲i进入iOS simulator,界面截图

394aa21e1e73a4f153fb378bb828874b.png

我们关掉Expo的提示,直接进入项目:

bf62511f2b4747918f7a4726e03b9a0b.png

你的项目就运行在ios模拟器上了,我们可以看到这种方式非常的简单,没有复杂的配置,(当然你如果需要安卓的调试,模拟器还是要自己配置的),我们现在访问react-native的官方文档,这种方式已经变成了推荐方式,不管怎么样,两种方式都了解到,对开发绝对有好处。

开发环境搭建完毕,剩下的就是熟悉语法和api进入开发咯~



推荐阅读
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了JavaScript进化到TypeScript的历史和背景,解释了TypeScript相对于JavaScript的优势和特点。作者分享了自己对TypeScript的观察和认识,并提到了在项目开发中使用TypeScript的好处。最后,作者表示对TypeScript进行尝试和探索的态度。 ... [详细]
  • 在加载一个第三方厂商的dll文件时,提示“找不到指定模块,加载失败”。由于缺乏必要的技术支持,百思不得期间。后来发现一个有用的工具 ... [详细]
  • imnewtotheswiftandxcodeworld,soimhavingaproblemtryingtointegrateapackagetomypro ... [详细]
  • iOS开发Debug和Release的理解
    2019独角兽企业重金招聘Python工程师标准参考:http:blog.csdn.netmad1989articledetails406580331&# ... [详细]
  • 如何使用Xcode7软件添加NTL库并运行C++程序。一、首先安装NTL库1、进入“ATourofNTL:ObtainingandInstallingNTLfor ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • Question该提问来源于开源项目:react-native-device-info/react-native-device-info ... [详细]
  • React 小白初入门
    推荐学习:React官方文档:https:react.docschina.orgReact菜鸟教程:https:www.runoob.c ... [详细]
  • 在真实开发中,因为需求是不断变化的,说不定什么时候就需要往模型里添加新的字段,添加新的模型,甚至是大规模的重构; ... [详细]
  • ReactJSUIAnt设计空组件原文:https://w ... [详细]
  • 这篇文章给大家讲解如何利用dhtmlxGantt在服务器端集成数据。脚本数据保存如果您已初始化dataProcessor,则用户或以编程方式所做的任何更改都将自动 ... [详细]
  • Xcode离线安装帮助文档1.在线查看帮助文件:Xcode下查看帮助文件,菜单Help-DeveloperDocumentation在右上角搜索框中即可检索,但速度很慢 ... [详细]
  • 前言作为一个移动端初学者、爱好者,能使用前端技术开发原生游戏一直是一件渴望而不可及的事情,暂且不说游戏逻辑的复杂度,算法的健壮性ÿ ... [详细]
author-avatar
dongmyee
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有