react-native-cli简单理解

在项目下通过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!”。 
这里写图片描述


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值