react-native-cli简单理解

0人阅读 评论(0) 收藏 举报

在项目下通过npm为该项目安装react-native后,在node_modules中就有react-native这个文件夹。进入该文件夹,有一个local-cli文件夹。这个文件夹是被react-native-cli使用的。

react-native-cli通过npm install -g react-native-cli命令被安装到了本机,通过 which react-native命令可以知道所使用react-native对应的可执行程序所在的位置, 
这里写图片描述 
在finder中进入这个位置,发现是个替身,找到原身,发现其实就是react-native-cli模块中的index.js文件。react-native-cli其实就是一个node.js项目,运行在node上。 
这里写图片描述

运行react-native项目时用到的react-native run-ios 命令,其实就是调用了定义在react-native-cli模块中的方法,实际上react-native-cli模块中只是定义了初始化一个react-native项目的方法。至于其他命令例如react-native run-ios ,它们所调用的方法的更多实现细节并没有定义在react-native-cli模块中,在执行时实际会去到具体的react native项目下的node_modules/react-native/local-cli下去找相关的方法实现。

在local-cli中有一个commands.js,向外导出了一个commands对象,它是一个数组,其中包含了多个Command类型的对象,每一个Command对象表示一个可以(被react-native-cli)在命令行下通过格式[react-native 命令名称]运行的命令,包括init命令、server命令(通过react-native server来启动一个node服务器)等等。如果想要添加一个命令,只需要按照Command类型的定义,新建一个Command对象,然后加入到commands数组中,就可以被react-native-cli使用。

我尝试在command.js中添加了一个命令,修改如下(在commands数组定义之后插入这段代码): 
这里写图片描述

这里添加了一个hello命令,内容是输出一句话。保存修改后,在项目根目录(通常是node_modules文件夹所在目录)下,运行react-native hello,就能看到输出”ohyeah say hello!”。 
这里写图片描述


查看评论

React-Native痛点解析之开发环境搭建及扩展

React Native简直太火了,国内大公司都在争先恐后的尝鲜,让人难以相信这是诞生刚刚一年的开源项目。正因为它的年轻,在使用它进行开发时难免会遇到这样那样的坑,因此,我们邀请了《React Nat...
  • cuoban
  • cuoban
  • 2016-12-29 13:52:35
  • 876

React Native的环境搭配

前提系统:Ubuntu14.04LTS 1 Java:JDK8 Android Studio requires the Java Development Kit [JDK] 1.8 or high...
  • dakaniu
  • dakaniu
  • 2017-11-08 17:20:42
  • 110

npm install -g react-native-cli 提示npm ERR!

npm ERR! Windows_NT 6.1.7601 npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files...
  • Nickfang
  • Nickfang
  • 2015-12-02 14:46:19
  • 2175

react-native-cli

react-native-cli 和 react -native 啥关系? React Native is distributed as two npm packages, react-na...
  • lpcz2010
  • lpcz2010
  • 2016-08-25 11:55:43
  • 348

WindowS 下React native 配置

1,下载:https://github.com/facebook/react-native2,解压:cmd命令:安装: C:\Users\22945>npm install -g react-nat...
  • u013233097
  • u013233097
  • 2016-11-30 12:31:02
  • 884

React-Native入门

React-Native入门(文档http://reactnative.cn/docs/getting-started.html#content): 一、React-Native 环境配置: 1....
  • majiakun1
  • majiakun1
  • 2016-01-12 13:54:09
  • 1603

对于面向对象的简单理解

一直都想写一篇关于面向对象的文章,但是由于之前自己也是一知半解所以也就一直没有付出行动。关于面向对象的这类文章网上已经有很多大牛写过了,在这里呢我也就不班门弄斧了。就简单的说一下我的理解,只有不断的探...
  • W_DevilMayCry
  • W_DevilMayCry
  • 2017-04-26 21:38:19
  • 218

mac下npm install -g yarn react-native-cli出错

在mac系统中,使用npm安装yarn时出错,命令如下: npm install -g yarn react-native-cli npm ERR! Darwin 13.4.0 npm E...
  • u010411264
  • u010411264
  • 2016-12-23 16:57:55
  • 2170

解决sudo npm install -g react-native-cli 报错问题

在执行sudo npm install -g react-native-cli 命令时候,报错 npm ERR! Darwin 15.5.0 npm ERR! argv "/usr/local/Cel...
  • ruettiger
  • ruettiger
  • 2016-07-15 21:40:17
  • 5271

简单理解设计模式之工厂模式

废话不多说,今天我们来谈谈设计模式中的工厂模式。 1.首先我们来看看关于工厂模式的定义 定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。ps:工厂方法让类把实例化推迟到子类。 2.跟...
  • YQYnsmile
  • YQYnsmile
  • 2016-09-21 23:13:33
  • 783
    个人资料
    持之以恒
    等级:
    访问量: 3万+
    积分: 782
    排名: 6万+
    最新评论