101 lines
2.1 KiB
Markdown
101 lines
2.1 KiB
Markdown
|
# Welcome to React Router!
|
||
|
|
||
|
A modern, production-ready template for building full-stack React applications using React Router.
|
||
|
|
||
|
[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/remix-run/react-router-templates/tree/main/default)
|
||
|
|
||
|
## Features
|
||
|
|
||
|
- π Server-side rendering
|
||
|
- β‘οΈ Hot Module Replacement (HMR)
|
||
|
- π¦ Asset bundling and optimization
|
||
|
- π Data loading and mutations
|
||
|
- π TypeScript by default
|
||
|
- π TailwindCSS for styling
|
||
|
- π [React Router docs](https://reactrouter.com/)
|
||
|
|
||
|
## Getting Started
|
||
|
|
||
|
### Installation
|
||
|
|
||
|
Install the dependencies:
|
||
|
|
||
|
```bash
|
||
|
npm install
|
||
|
```
|
||
|
|
||
|
### Development
|
||
|
|
||
|
Start the development server with HMR:
|
||
|
|
||
|
```bash
|
||
|
npm run dev
|
||
|
```
|
||
|
|
||
|
Your application will be available at `http://localhost:5173`.
|
||
|
|
||
|
## Building for Production
|
||
|
|
||
|
Create a production build:
|
||
|
|
||
|
```bash
|
||
|
npm run build
|
||
|
```
|
||
|
|
||
|
## Deployment
|
||
|
|
||
|
### Docker Deployment
|
||
|
|
||
|
This template includes three Dockerfiles optimized for different package managers:
|
||
|
|
||
|
- `Dockerfile` - for npm
|
||
|
- `Dockerfile.pnpm` - for pnpm
|
||
|
- `Dockerfile.bun` - for bun
|
||
|
|
||
|
To build and run using Docker:
|
||
|
|
||
|
```bash
|
||
|
# For npm
|
||
|
docker build -t my-app .
|
||
|
|
||
|
# For pnpm
|
||
|
docker build -f Dockerfile.pnpm -t my-app .
|
||
|
|
||
|
# For bun
|
||
|
docker build -f Dockerfile.bun -t my-app .
|
||
|
|
||
|
# Run the container
|
||
|
docker run -p 3000:3000 my-app
|
||
|
```
|
||
|
|
||
|
The containerized application can be deployed to any platform that supports Docker, including:
|
||
|
|
||
|
- AWS ECS
|
||
|
- Google Cloud Run
|
||
|
- Azure Container Apps
|
||
|
- Digital Ocean App Platform
|
||
|
- Fly.io
|
||
|
- Railway
|
||
|
|
||
|
### DIY Deployment
|
||
|
|
||
|
If you're familiar with deploying Node applications, the built-in app server is production-ready.
|
||
|
|
||
|
Make sure to deploy the output of `npm run build`
|
||
|
|
||
|
```
|
||
|
βββ package.json
|
||
|
βββ package-lock.json (or pnpm-lock.yaml, or bun.lockb)
|
||
|
βββ build/
|
||
|
β βββ client/ # Static assets
|
||
|
β βββ server/ # Server-side code
|
||
|
```
|
||
|
|
||
|
## Styling
|
||
|
|
||
|
This template comes with [Tailwind CSS](https://tailwindcss.com/) already configured for a simple default starting experience. You can use whatever CSS framework you prefer.
|
||
|
|
||
|
---
|
||
|
|
||
|
Built with β€οΈ using React Router.
|