- Mac OS X, Windows, or Linux
- Node.js v5.0 or newer
npmv3.3 or newer (new to npm?)node-gypprerequisites mentioned here- Text editor or IDE pre-configured with React/JSX/Flow/ESlint (learn more)
You can start by cloning the latest version of React Starter Kit (RSK) on your local machine by running:
$ git clone -o react-starter-kit -b master --single-branch \
https://github.com/kriasoft/react-starter-kit.git MyApp
$ cd MyAppAlternatively, you can start a new project based on RSK right from WebStorm IDE, or by using Yeoman generator.
This will install both run-time project dependencies and developer tools listed in package.json file.
This command will build the app from the source files (/src) into the output
/build folder. As soon as the initial build completes, it will start the
Node.js server (node build/server.js) and Browsersync
with HMR on top of it.
Now you can open your web app in a browser, on mobile devices and start
hacking. Whenever you modify any of the source files inside the /src folder,
the module bundler (Webpack) will recompile the
app on the fly and refresh all the connected browsers.
Note that the npm start command launches the app in development mode,
the compiled output files are not optimized and minimized in this case.
You can use --release command line argument to check how your app works
in release (production) mode:
$ npm start -- --releaseIf you need just to build the app (without running a dev server), simply run:
$ npm run buildor, for a production build:
$ npm run build -- --releaseAfter running this command, the /build folder will contain the compiled
version of the app. For example, you can launch Node.js server normally by
running node build/server.js.
To check the source code for syntax errors and potential issues run:
$ npm run lintTo launch unit tests:
$ npm testTest any javascript module by creating a __tests__/ directory where
the file is. Append -test.js to the filename and
Jest will do the rest.
To deploy the app, run:
$ npm run deployThe deployment script tools/deploy.js is configured to push the contents of
the /build folder to a remote server via Git. You can easily deploy your app
to Azure Web Apps,
or Heroku this way. Both will execute npm install --production
upon receiving new files from you. Note, you should only deploy the contents
of the /build folder to a remote server.
If you need to keep your project up to date with the recent changes made to RSK, you can always fetch and merge them from this repo back into your own project by running:
$ git checkout master
$ git fetch react-starter-kit
$ git merge react-starter-kit/master
$ npm install