Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Netlify to deploy instructions #386

Closed
wants to merge 3 commits into from
Closed
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions template/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ You can find the most recent version of this guide [here](https://github.com/fac
- [Integrating with a Node Backend](#integrating-with-a-node-backend)
- [Proxying API Requests in Development](#proxying-api-requests-in-development)
- [Deployment](#deployment)
- [Netlify](#netlify)
- [Now](#now)
- [Heroku](#heroku)
- [GitHub Pages](#github-pages)
Expand Down Expand Up @@ -511,6 +512,39 @@ To override this, specify the `homepage` in your `package.json`, for example:

This will let Create React App correctly infer the root path to use in the generated HTML file.

## Netlify

**To do a manual deploy to Netlify's CDN:**

```sh
npm install netlify-cli
netlify deploy
```

Choose `build` as the path to deploy.

**To setup continuous delivery**

With this setup Netlify will build and deploy when you push to git or open a pull request:

1. [Start a new netlify project](https://app.netlify.com/signup)
2. Pick your Git hosting service and select your create-react-app repository
3. Click `Build your site`

**Support for client site routing:**

To support `pushState` add a `src/_redirects` file with the following rewrite rule:

```
/* /index.html 200
```

Then add this import statement to `src/index.js`:

```js
import "file?name=_redirects!./_redirects";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don’t think we want to expose a webpack-ism like this to the user.
We should have a way to add arbitrary files to the build, I think.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cough #226

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea.. I mean to take a look at this soon. The only problem I see so far is that it won’t allow adding anything to the root folder which seems like a common use case.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well we could easily copy everything EXCEPT the files that are there by default and the src/ folder?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’m not sure if we should do that although it might be reasonable.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe the “root files” use case is just not important, and we can tell people to add their own cp post-build command.

Copy link
Contributor Author

@biilmann biilmann Aug 8, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having to add a custom post build command just to include a robots.txt or a .htaccess or a _redirects or any similar file that needs to go in the root seems a bit complicated.

I think having anything in the static folder copied into the build root is the best option. Hugo (the static site generator) works like that and I don't see that creating confusion...

Copy link
Contributor

@gaearon gaearon Aug 8, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only reason I see that confusing is because if you want to put something into js for whatever reason, you have to create /static/static/js/ which is funny.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would argue for not having the static folder end up in build/static but copying anything in static to build in regards to #226 - so you would have static/robots.txt or static/js/modernizr.js or the like.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like it'll take a bit to figure out the best way to add static files to the root folder, so I dropped the specific instructions and left it up to the end user to get the _redirects file into the build folder.

```

### Now

See [this example](https://github.com/xkawi/create-react-app-now) for a zero-configuration single-command deployment with [now](https://zeit.co/now).
Expand Down