Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/facebook/create-react-app
Set up a modern web app by running one command.
https://github.com/facebook/create-react-app
build-tools react zero-configuration
Last synced: 3 days ago
JSON representation
Set up a modern web app by running one command.
- Host: GitHub
- URL: https://github.com/facebook/create-react-app
- Owner: facebook
- License: mit
- Created: 2016-07-17T14:55:11.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2024-08-27T17:09:10.000Z (4 months ago)
- Last Synced: 2024-11-27T06:37:24.356Z (15 days ago)
- Topics: build-tools, react, zero-configuration
- Language: JavaScript
- Homepage: https://create-react-app.dev
- Size: 23.5 MB
- Stars: 102,815
- Watchers: 1,921
- Forks: 26,874
- Open Issues: 2,263
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG-0.x.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-shortcuts - Create React App
- awesome-react-cn - create-react-app - Set up a modern Web app by running one command (Uncategorized / Uncategorized)
- stars - facebook/create-react-app
- awesome - create-react-app - Set up a modern web app by running one command. (JavaScript)
- awesome-web - create-react-app
- awesome-react - create-react-app - Set up a modern Web app by running one command (Uncategorized / Uncategorized)
- awesome-react - create-react-app - Create React apps with no build configuration. ![](https://img.shields.io/github/stars/facebookincubator/create-react-app.svg?style=social&label=Star) (Boilerplate / Solution)
- awesome-ccamel - facebook/create-react-app - Set up a modern web app by running one command. (JavaScript)
- awesome-starred-test - facebook/create-react-app - Set up a modern web app by running one command. (JavaScript)
- awesome-libraries - create-react-app
- awesome-learning-resources - create-react-app - Set up a modern Web app by running one command (Uncategorized / Uncategorized)
- awesome-github-star - create-react-app
- awesome-starts - facebook/create-react-app - Set up a modern web app by running one command. (JavaScript)
- awesome-frontend - create-react-app
- stars - facebook/create-react-app - Set up a modern web app by running one command. (JavaScript)
- awesome-for-beginners - Create React App
- awesome-dev-machine - create-react-app (Free) - Set up a robust React web app by running one command - Mac/Windows (Command Line Tools)
- awesome-list - create-react-app
- best-of-react - GitHub - 25% open · ⏱️ 14.06.2023): (Developer Tools)
- StarryDivineSky - facebook/create-react-app
- awesome-f2e-libs - **create-react-app** - react 官方脚手架。 (打包工具)
- awesome-react-cn - create-react-app
- awesome-react - create-react-app - Set up a modern web app by running one command. ` 📝 5 days ago` (React [🔝](#readme))
- awesome-fe - **create-react-app** - react 官方脚手架。 (打包工具)
- awesome-react - create-react-app - Set up a modern Web app by running one command (**Awesome React** [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) / React)
- awesome-tools - **create-react-app** - react 官方脚手架 (脚手架以及工具包)
- jimsghstars - facebook/create-react-app - Set up a modern web app by running one command. (JavaScript)
- fucking-awesome-for-beginners - Create React App
- awesome - facebook/create-react-app - Set up a modern web app by running one command. (JavaScript)
- awesome - facebook/create-react-app - Set up a modern web app by running one command. (JavaScript)
- stars - facebook/create-react-app - Set up a modern web app by running one command. (JavaScript)
- stars - facebook/create-react-app - Set up a modern web app by running one command. (JavaScript)
README
# Create React App [![Build & Test](https://github.com/facebook/create-react-app/actions/workflows/build-and-test.yml/badge.svg?branch=main)](https://github.com/facebook/create-react-app/actions/workflows/build-and-test.yml) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-green.svg)](https://github.com/facebook/create-react-app/blob/main/CONTRIBUTING.md)
Create React apps with no build configuration.
- [Creating an App](#creating-an-app) – How to create a new app.
- [User Guide](https://facebook.github.io/create-react-app/) – How to develop apps bootstrapped with Create React App.Create React App works on macOS, Windows, and Linux.
If something doesn’t work, please [file an issue](https://github.com/facebook/create-react-app/issues/new).
If you have questions or need help, please ask in [GitHub Discussions](https://github.com/facebook/create-react-app/discussions).## Quick Overview
```sh
npx create-react-app my-app
cd my-app
npm start
```If you've previously installed `create-react-app` globally via `npm install -g create-react-app`, we recommend you uninstall the package using `npm uninstall -g create-react-app` or `yarn global remove create-react-app` to ensure that npx always uses the latest version.
_([npx](https://medium.com/@maybekatz/introducing-npx-an-npm-package-runner-55f7d4bd282b) comes with npm 5.2+ and higher, see [instructions for older npm versions](https://gist.github.com/gaearon/4064d3c23a77c74a3614c498a8bb1c5f))_
Then open [http://localhost:3000/](http://localhost:3000/) to see your app.
When you’re ready to deploy to production, create a minified bundle with `npm run build`.
### Get Started Immediately
You **don’t** need to install or configure tools like webpack or Babel.
They are preconfigured and hidden so that you can focus on the code.Create a project, and you’re good to go.
## Creating an App
**You’ll need to have Node 14.0.0 or later version on your local development machine** (but it’s not required on the server). We recommend using the latest LTS version. You can use [nvm](https://github.com/creationix/nvm#installation) (macOS/Linux) or [nvm-windows](https://github.com/coreybutler/nvm-windows#node-version-manager-nvm-for-windows) to switch Node versions between different projects.
To create a new app, you may choose one of the following methods:
### npx
```sh
npx create-react-app my-app
```_([npx](https://medium.com/@maybekatz/introducing-npx-an-npm-package-runner-55f7d4bd282b) is a package runner tool that comes with npm 5.2+ and higher, see [instructions for older npm versions](https://gist.github.com/gaearon/4064d3c23a77c74a3614c498a8bb1c5f))_
### npm
```sh
npm init react-app my-app
```_`npm init ` is available in npm 6+_
### Yarn
```sh
yarn create react-app my-app
```_[`yarn create `](https://yarnpkg.com/lang/en/docs/cli/create/) is available in Yarn 0.25+_
It will create a directory called `my-app` inside the current folder.
Inside that directory, it will generate the initial project structure and install the transitive dependencies:```
my-app
├── README.md
├── node_modules
├── package.json
├── .gitignore
├── public
│ ├── favicon.ico
│ ├── index.html
│ └── manifest.json
└── src
├── App.css
├── App.js
├── App.test.js
├── index.css
├── index.js
├── logo.svg
└── serviceWorker.js
└── setupTests.js
```No configuration or complicated folder structures, only the files you need to build your app.
Once the installation is done, you can open your project folder:```sh
cd my-app
```Inside the newly created project, you can run some built-in commands:
### `npm start` or `yarn start`
Runs the app in development mode.
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.The page will automatically reload if you make changes to the code.
You will see the build errors and lint warnings in the console.
### `npm test` or `yarn test`
Runs the test watcher in an interactive mode.
By default, runs tests related to files changed since the last commit.[Read more about testing.](https://facebook.github.io/create-react-app/docs/running-tests)
### `npm run build` or `yarn build`
Builds the app for production to the `build` folder.
It correctly bundles React in production mode and optimizes the build for the best performance.The build is minified and the filenames include the hashes.
Your app is ready to be deployed.
## User Guide
You can find detailed instructions on using Create React App and many tips in [its documentation](https://facebook.github.io/create-react-app/).
## How to Update to New Versions?
Please refer to the [User Guide](https://facebook.github.io/create-react-app/docs/updating-to-new-releases) for this and other information.
## Philosophy
- **One Dependency:** There is only one build dependency. It uses webpack, Babel, ESLint, and other amazing projects, but provides a cohesive curated experience on top of them.
- **No Configuration Required:** You don't need to configure anything. A reasonably good configuration of both development and production builds is handled for you so you can focus on writing code.
- **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.
## What’s Included?
Your environment will have everything you need to build a modern single-page React app:
- React, JSX, ES6, TypeScript and Flow syntax support.
- Language extras beyond ES6 like the object spread operator.
- Autoprefixed CSS, so you don’t need `-webkit-` or other prefixes.
- A fast interactive unit test runner with built-in support for coverage reporting.
- A live development server that warns about common mistakes.
- A build script to bundle JS, CSS, and images for production, with hashes and sourcemaps.
- An offline-first [service worker](https://developers.google.com/web/fundamentals/getting-started/primers/service-workers) and a [web app manifest](https://developers.google.com/web/fundamentals/engage-and-retain/web-app-manifest/), meeting all the [Progressive Web App](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) criteria. (_Note: Using the service worker is opt-in as of `[email protected]` and higher_)
- Hassle-free updates for the above tools with a single dependency.Check out [this guide](https://github.com/nitishdayal/cra_closer_look) for an overview of how these tools fit together.
The tradeoff is that **these tools are preconfigured to work in a specific way**. If your project needs more customization, you can ["eject"](https://facebook.github.io/create-react-app/docs/available-scripts#npm-run-eject) and customize it, but then you will need to maintain this configuration.
## Popular Alternatives
Create React App is a great fit for:
- **Learning React** in a comfortable and feature-rich development environment.
- **Starting new single-page React applications.**
- **Creating examples** with React for your libraries and components.Here are a few common cases where you might want to try something else:
- If you want to **try React** without hundreds of transitive build tool dependencies, consider [using a single HTML file or an online sandbox instead](https://reactjs.org/docs/getting-started.html#try-react).
- If you need to **integrate React code with a server-side template framework** like Rails, Django or Symfony, or if you’re **not building a single-page app**, consider using [nwb](https://github.com/insin/nwb), or [Neutrino](https://neutrino.js.org/) which are more flexible. For Rails specifically, you can use [Rails Webpacker](https://github.com/rails/webpacker). For Symfony, try [Symfony's webpack Encore](https://symfony.com/doc/current/frontend/encore/reactjs.html).
- If you need to **publish a React component**, [nwb](https://github.com/insin/nwb) can [also do this](https://github.com/insin/nwb#react-components-and-libraries), as well as [Neutrino's react-components preset](https://neutrino.js.org/packages/react-components/).
- If you want to do **server rendering** with React and Node.js, check out [Next.js](https://nextjs.org/) or [Razzle](https://github.com/jaredpalmer/razzle). Create React App is agnostic of the backend, and only produces static HTML/JS/CSS bundles.
- If your website is **mostly static** (for example, a portfolio or a blog), consider using [Gatsby](https://www.gatsbyjs.org/) or [Next.js](https://nextjs.org/). Unlike Create React App, Gatsby pre-renders the website into HTML at build time. Next.js supports both server rendering and pre-rendering.
- Finally, if you need **more customization**, check out [Neutrino](https://neutrino.js.org/) and its [React preset](https://neutrino.js.org/packages/react/).
All of the above tools can work with little to no configuration.
If you prefer configuring the build yourself, [follow this guide](https://reactjs.org/docs/add-react-to-a-website.html).
## React Native
Looking for something similar, but for React Native?
Check out [Expo CLI](https://github.com/expo/expo-cli).## Contributing
We'd love to have your helping hand on `create-react-app`! See [CONTRIBUTING.md](CONTRIBUTING.md) for more information on what we're looking for and how to get started.
## Supporting Create React App
Create React App is a community maintained project and all contributors are volunteers. If you'd like to support the future development of Create React App then please consider donating to our [Open Collective](https://opencollective.com/create-react-app).
## Credits
This project exists thanks to all the people who [contribute](CONTRIBUTING.md).
Thanks to [Netlify](https://www.netlify.com/) for hosting our documentation.
## Acknowledgements
We are grateful to the authors of existing related projects for their ideas and collaboration:
- [@eanplatter](https://github.com/eanplatter)
- [@insin](https://github.com/insin)
- [@mxstbr](https://github.com/mxstbr)## License
Create React App is open source software [licensed as MIT](https://github.com/facebook/create-react-app/blob/main/LICENSE). The Create React App logo is licensed under a [Creative Commons Attribution 4.0 International license](https://creativecommons.org/licenses/by/4.0/).