Understanding the CLI
Understanding the CLI
Project with Native Code Required
This page only applies to projects made with react-native init
or to those made with Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository.
Though you may have installed the react-native-cli
via npm as a separate module, it is a shell for accessing the CLI embedded in the React Native of each project. Your commands and their effects are dependent on the version of the module of react-native
in context of the project. This guide will give a brief overview of the CLI in the module.
The local CLI
React Native has a local-cli
folder with a file named cliEntry.js
. Here, the commands are read from commands.js
and added as possible CLI commands. E.G. the react-native link
command, exists in the react-native/local-cli/link
folder, and is required in commands.js
, which will register it as a documented command to be exposed to the CLI.
Command definitions
At the end of each command entry is an export. The export is an object with a function to perform, description of the command, and the command name. The object structure for the link
command looks like so:
module.exports = { func: link, description: 'links all native dependencies', name: 'link [packageName]', };
Parameters
The command name identifies the parameters that a command would expect. When the command parameter is surrounded by greater-than, less-than symbols < >
, this indicates that the parameter is expected. When a parameter is surrounded by brackets [ ]
, this indicates that the parameter is optional.
© 2015–2017 Facebook Inc.
Licensed under the Creative Commons Attribution 4.0 International Public License.
https://facebook.github.io/react-native/docs/understanding-cli.html