学习任何技术,最快捷的方法就是学习完基础语法,然后模仿开源项目进行学习,React Native也不例外。React Native推出了1年多了, 开源项目太多了,我们以其中一个举例子.给大家演示下如何运行开源项目.(前提是你已经搭建好React Native环境了)

下载开源项目

首先需要找到开源项目 ,比如下面这个.

地址: https://github.com/Bob1993/react-native-gank

进入github, clone到本地或者直接download到本地。

按照之前运行自己项目的经验,我们会直接在控制台进入项目目录,然后输入

react-native run-ios 或者react-native run-android

这时候发现并没有react-native 指令.

原因是这样的, 大部分开源项目并不是完整的项目, 缺少了项目的依赖, 就像我们运行java没有jdk环境一样。

下面是一个完整的项目:

而开源项目为了减少空间,并没有提交node_mudules目录,需要我们自己安装

npm安装node_modules

node_modules 是整个项目的依赖, 里面包含什么呢? 包含的文件全部都写在package.json 文件中了。 这个文件是必不可少的。我们需要按照这个列表下载。

这时候需要给大家简单介绍下,因为react native项目是通过nodejs构建的,所以在nodejs项目中都需要package.json 文件。具体大家可以看看nodejs相关知识 。 七天学会 Nodejs

安装node_modules 非常简单, 进入项目目录执行命令

npm install

会自动按照package.json下载对应的依赖。

但是问题来了, 经常会出现下面的错误:

大部分都是由于网速的问题导致的,有些依赖甚至需要翻墙才能下载。最好的办法就是把npm的下载源改成国内的镜像,修改方法有三种,如下:

1.通过config命令

npm config set registry https://registry.npm.taobao.org

npm info underscore (如果上面配置正确这个命令会有字符串response)

2.命令行指定

npm –registry https://registry.npm.taobao.org info underscore

3.编辑~/.npmrc

加入下面内容

registry = https://registry.npm.taobao.org

修改完了,再执行npm install 下载完成就会有如下的提示:



剩下的就是运行项目了。

开源项目汇总

https://github.com/nihgwu/react-native-sudoku 数独

https://github.com/attentiveness/reading reading

https://github.com/CoderGLM/ReactNativeLeaning

https://github.com/eesc88/programmer 云翻译客户端

https://github.com/jiangqqlmj/GaGaMall 嘎嘎商城

https://github.com/879479119/Bilibili-React-Native 仿B站客户端

https://github.com/Shuijwan/marvel漫威电影客户端

https://github.com/talentjiang/react_native_office公司移动OA办公客户端

https://github.com/yohnz/maoyanFilm仿猫眼电影客户端

https://github.com/soliury/noder-react-nativeCNode论坛客户端

https://github.com/Kennytian/LagouApp仿拉勾网客户端

https://github.com/SFantasy/WeiboReactNativeiOS新浪微博客户端

https://github.com/kailuo99/toutiaoiOS资讯头条APP

https://github.com/xiekw2010/react-native-gitfeedGithub客户端

https://github.com/iSimar/HackerNews-React-NativeHacker新闻客户端

https://github.com/starzhy/TheOneCoder码农客户端

https://github.com/tabalt/ReactNativeNews新闻客户端

https://github.com/vczero/React-Dou豆瓣搜索客户端

https://github.com/race604/ZhiHuDaily-React-Native知乎日报客户端

React Native开源项目如何运行(附一波开源项目)的更多相关文章

  1. 配置React Native环境及解决运行异常

    一. 安装Homebrew: Homebrew的官网(多语言版本)简单明了地介绍了如何安装和使用这个工具,;并提供了自己的Wiki. brew的安装很简单,使用一条ruby命令即可,Mac系统上已经默 ...

  2. react native 在vscode上运行

    1.在用react-native init xxx 创建rn项目之后,在Android目录中创建local.properties文件 =后面接上sdk地址 2.react-native start 命 ...

  3. 关于react native在window下运行安卓的时候报 could not connect to development server

    当出现这种问题是网上的解答方案都是一模一样的! 我这边先给个地址讲的是解决方案http://blog.csdn.net/qq_25827845/article/details/52974991 但是我 ...

  4. React Native开源项目如何运行(转载)

    学习任何技术,最快捷的方法就是学习完基础语法,然后模仿开源项目进行学习,React Native也不例外.React Native推出了1年多了, 开源项目太多了,我们以其中一个举例子.给大家演示下如 ...

  5. React Native开源项目案例

    (六).React Native开源项目: 1.Pober Wong_17童鞋为gank.io做的纯React Native项目,开源地址:https://github.com/Bob1993/Rea ...

  6. React Native 开源项目汇总

    最近闲来无事,学习了React Native开发Android APP,自我感觉RN APP的效果和Native APP比还是蛮不错,以下是找到的一些优秀源码,仅供学习参考... React Nati ...

  7. 现有iOS项目集成React Native过程记录

    在<Mac系统下React Native环境搭建>配置了RN的开发环境,然后,本文记录在现有iOS项目集成React Native的过程,官方推荐使用Cocoapods,项目一开始也是使用 ...

  8. React Native开发之IDE(Atom+Nuclide)安装,运行,调试

    版权声明:本文为博主原创文章,如需转载请注明出处   目录(?)[-] 前言 MacWindowsLinux 准备工作 安装Atom 安装Nuclide 新建一个工程 自动补全 类型标注 语法检查 跳 ...

  9. iOS原生项目集成React Native模块

    今天周末,弄弄Native和React Native之间的交互.首先,先在iOS原生项目中集成React Native模块: 注意事项: 1.因为react native的版本问题,部分细节可能有所不 ...

随机推荐

  1. 跟我一起做一个vue的小项目(APPvue2.5完结篇)

    先放一下这个完结项目的整体效果 下面跟我我一起进行下面项目的进行吧~~~ 接下来我们进行的是实现header的渐隐渐显效果,并且点击返回要回到首页 我们先看效果 在处理详情页向下移动过程中,heade ...

  2. Android获取App版本号和版本名

    1 //获取版本名 public static String getVersionName(Context context) { return getPackageInfo(context).vers ...

  3. python 实现发送短信验证码

    [说明]短信接口使用的是“聚合数据”上面的接口. 那么在使用接口前,需要在聚合数据上面注册,进行申请接口.当然在正式使用之前,我们可以使用申请免得的进行测试. 一.申请成功后,需做的准备工作如下: 1 ...

  4. java并发系列(三)-----ReentrantLock(重入锁)功能详解和应用演示

    1. ReentrantLock简介 jdk中独占锁的实现除了使用关键字synchronized外,还可以使用ReentrantLock.虽然在性能上ReentrantLock和synchronize ...

  5. “微信小程序” js部分注解

    1.小程序不提供获取dom的操作,而是让我们直接将事件绑定写入到组件内.区别在于bind不阻止冒泡,而catch阻止冒泡. <view id="tapTest" bindta ...

  6. MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; // 转换成多部分request异常

    原来是需要在springmvc中配置 <!-- multipartResolver上传文件 --> <bean id="multipartResolver" cl ...

  7. tomcat的访问日志

    https://blog.csdn.net/qq_30121245/article/details/52861935 配置位置在这里,每一个域名设置都可以单独设置 %a   这是记录访问者的IP,如果 ...

  8. 页面PC端 / 移动端整屏纵向翻页,点击/触摸滑动效果功能代码非插件

    页面翻页,滑动功能示范代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  9. Leetcode49. Group Anagrams字母异位词分组

    给定一个字符串数组,将字母异位词组合在一起.字母异位词指字母相同,但排列不同的字符串. 示例: 输入: ["eat", "tea", "tan&quo ...

  10. redis书籍

    redis中文官网命令网址:http://doc.redisfans.com/ redis英文官网命令网址:https://redis.io/commands redis书籍 由 Karl Segui ...