Skip to content

Commit 319896a

Browse files
sophiebitsgaearon
authored andcommitted
Reshuffle README (#71)
1 parent cbb4123 commit 319896a

File tree

1 file changed

+63
-27
lines changed

1 file changed

+63
-27
lines changed

README.md

Lines changed: 63 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,25 @@
1-
21
# Create React App
32

43
Create React apps with no build configuration.
54

6-
* **One Dependency:** There is just one build dependency. It uses Webpack, Babel, ESLint, and other amazing projects, but provides a cohesive curated experience on top of them.
5+
## tl;dr
76

8-
* **Zero Configuration:** There are no configuration files or command line options. Configuring both development and production builds is handled for you so you can focus on writing code.
7+
```sh
8+
npm install -g create-react-app
99

10-
* **No Lock-In:** You can “eject” to a custom setup at any time. Run a single command, and all the configuration and build dependencies will be moved directly into your project, so you can pick up right where you left off.
10+
create-react-app my-app
11+
cd my-app/
12+
npm start
1113

12-
## Installation
14+
```
15+
16+
Then open http://localhost:3000/ to see your app.
17+
18+
When you're ready to deploy to production, you can use `npm run build` to make a minified bundle ready for deployment.
19+
20+
## Getting Started
21+
22+
### Installation
1323

1424
Install it once globally:
1525

@@ -21,24 +31,7 @@ npm install -g create-react-app
2131

2232
**This tool doesn’t assume a Node backend**. The Node installation is only required for the build tools that rely on it locally, such as Webpack and Babel. The output folder includes an `index.html`, a minified JavaScript bundle, and bundled images and styles, so you can host them anywhere you like.
2333

24-
## Why Use This?
25-
26-
**If you’re getting started** with React, use `create-react-app` to automate the build of your app. There is no configuration file, and `react-scripts` is the only extra build dependency in your `package.json`. Your environment will have everything you need to build a modern React app:
27-
28-
* React, JSX, and ES6 support.
29-
* Language extras beyond ES6 like the object spread operator.
30-
* A dev server that lints for common errors.
31-
* Import CSS and image files directly from JavaScript.
32-
* Autoprefixed CSS, so you don’t need `-webkit` or other prefixes.
33-
* A `build` script to bundle JS, CSS, and images for production, with sourcemaps.
34-
35-
**The feature set is intentionally limited**. It doesn’t support advanced features such as server rendering or CSS modules. Currently, it doesn’t support testing either. The tool is also **non-configurable** because it is hard to provide a cohesive experience and easy updates across a set of tools when the user can tweak anything.
36-
37-
**If you’re a power user** and are comfortable with configuring build dependencies yourself, you can use this tool as a boilerplate generator. When you “eject” from it, the tool moves all the configuration right into your project, and removes itself from the dependencies. This way you can customize everything in this setup but you won’t get the upstream updates of the curated set of plugins.
38-
39-
**You don’t have to use this.** Historically it has been easy to [gradually adopt](https://www.youtube.com/watch?v=BF58ZJ1ZQxY) React. However many people create new single-page React apps from scratch every day. We’ve heard [loud](https://medium.com/@ericclemmons/javascript-fatigue-48d4011b6fc4) and [clear](https://twitter.com/thomasfuchs/status/708675139253174273) that this process can be error-prone and tedious, especially if this is your first JavaScript build stack. This project is an attempt to figure out a good way to start developing React apps.
40-
41-
## Usage
34+
### Creating an App
4235

4336
To create a new app, run:
4437

@@ -49,8 +42,26 @@ cd my-app
4942

5043
It will create a directory called `my-app` inside the current folder.
5144

52-
Inside that directory, it will generate the initial project structure and install the transient dependencies.<br>
53-
Once the installation is done, you can run some commands inside the project folder!
45+
Inside that directory, it will generate the initial project structure and install the transient dependencies:
46+
47+
```
48+
my-app/
49+
README.md
50+
index.html
51+
node_modules/
52+
package.json
53+
src/
54+
App.css
55+
App.js
56+
favicon.ico
57+
index.css
58+
index.js
59+
logo.svg
60+
```
61+
62+
No complicated folder structures, just the files you need to build your app.
63+
64+
Once the installation is done, you can run some commands inside the project folder:
5465

5566
### `npm start`
5667

@@ -68,11 +79,36 @@ It correctly bundles React in production mode and optimizes the build for the be
6879
The build is minified and the filenames include the hashes.<br>
6980
Your app is ready to be deployed!
7081

71-
### `npm run eject`
82+
## Philosophy
83+
84+
* **One Dependency:** There is just one build dependency. It uses Webpack, Babel, ESLint, and other amazing projects, but provides a cohesive curated experience on top of them.
85+
86+
* **Zero Configuration:** There are no configuration files or command line options. Configuring both development and production builds is handled for you so you can focus on writing code.
87+
88+
* **No Lock-In:** You can “eject” to a custom setup at any time. Run a single command, and all the configuration and build dependencies will be moved directly into your project, so you can pick up right where you left off.
89+
90+
## Why Use This?
91+
92+
**If you’re getting started** with React, use `create-react-app` to automate the build of your app. There is no configuration file, and `react-scripts` is the only extra build dependency in your `package.json`. Your environment will have everything you need to build a modern React app:
93+
94+
* React, JSX, and ES6 support.
95+
* Language extras beyond ES6 like the object spread operator.
96+
* A dev server that lints for common errors.
97+
* Import CSS and image files directly from JavaScript.
98+
* Autoprefixed CSS, so you don’t need `-webkit` or other prefixes.
99+
* A `build` script to bundle JS, CSS, and images for production, with sourcemaps.
100+
101+
**The feature set is intentionally limited**. It doesn’t support advanced features such as server rendering or CSS modules. Currently, it doesn’t support testing either. The tool is also **non-configurable** because it is hard to provide a cohesive experience and easy updates across a set of tools when the user can tweak anything.
102+
103+
**You don’t have to use this.** Historically it has been easy to [gradually adopt](https://www.youtube.com/watch?v=BF58ZJ1ZQxY) React. However many people create new single-page React apps from scratch every day. We’ve heard [loud](https://medium.com/@ericclemmons/javascript-fatigue-48d4011b6fc4) and [clear](https://twitter.com/thomasfuchs/status/708675139253174273) that this process can be error-prone and tedious, especially if this is your first JavaScript build stack. This project is an attempt to figure out a good way to start developing React apps.
104+
105+
### Graduating from create-react-app
106+
107+
**If you’re a power user** and are comfortable with configuring build dependencies yourself, you can use this tool as a boilerplate generator.
72108

73109
**Note: this is a one-way operation. Once you `eject`, you can’t go back!**
74110

75-
If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
111+
If you aren’t satisfied with the build tool and configuration choices, you can `npm run eject` at any time. This command will remove the single build dependency from your project.
76112

77113
Instead, it will copy all the configuration files and the transient dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point, you’re on your own.
78114

0 commit comments

Comments
 (0)