在项目下通过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对应的可执行程序所在的位置,
运行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数组定义之后插入这段代码):
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- howto234.com 版权所有 湘ICP备2022005869号-3
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务