En mi caso antes de agregar react-router-dom ya lo habia desplagado en GitHub Pages, lo que hice fue subir los cambios nuevos con git push y posterior a se corren 2 comandos, para actualuzar GitHubPages.
npm run build
npm run deploy
Fundamentos de navegación en la web
¿Cuándo necesitas React Router?
SSR vs. Single Page Applications
Versiones de React Router: ¿Por qué son tantas? ¿Cuál elegir?
Introducción a React Router DOM 6
Instalación de React Router DOM 6
BrowserRouter vs. HashRouter
Route: componentes de navegación
Link vs. NavLink
useParams: rutas dinámicas
useNavigate: historial de navegación
Outlet: nested routes
Fake authentication con React Router DOM 6
useAuth: login y logout
Menú con rutas públicas y privadas
Navigate y redirects: protegiendo rutas privadas
Roles y permisos
Reto: composición de componentes con navegación
Reto: UX de login y logout
Reto: roles complejos
React Router en TODO Machine
Integrando React Router a proyectos en React
Creando las rutas de TODO Machine
Botón de editar TODOs
Generador automático de IDs
Cambiando modales por navegación
Obtener y editar TODOs
useLocation: transferencia de datos por navegación
Deploy con React Router en GitHub Pages
Próximos pasos
Reto: página de búsquedas con navegación
Reto: TODO Machine con React Router DOM 5
Reto: PlatziMovies con React Router
Reto: crea tu propio React Router
Espera más cursos de React.js
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Convierte tus certificados en títulos universitarios en USA
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Juan David Castro Gallego
Aportes 14
Preguntas 2
En mi caso antes de agregar react-router-dom ya lo habia desplagado en GitHub Pages, lo que hice fue subir los cambios nuevos con git push y posterior a se corren 2 comandos, para actualuzar GitHubPages.
npm run build
npm run deploy
Me ha pasado muchas veces el error XD. Así que comparto mis notas de cómo hacer el deploy en gh-pages. Recomendacion
paso 1.
npm instal gh-pages -D
…
paso 2.
En package.json después de “devDependencies”: { } agregar la siguiente línea
"homepage": “https//<nombre usuario>.github.io/<nombre repositorio>”
…
paso 3.
agregar en scripts lo siguiente
"predeploy": “npm run build”,
“deploy”:“gh-pages -d build”
…
paso 4.
correr npm run deploy
…
Si hay algun error
cambiar la linea
** “deploy”: “gh-pages-clean gh-pages -d build”**
correr :
npm run deploy
cambiar la línea de nuevo a
** “deploy”:“gh-pages -d build”**
…
correr
npm run deploy
…
uyyy, yo nunca lo pude hacer con gh-pages, preferí desplegarlo con netlify o vercel, es un millon de veces más facil y rapido
En mi caso, tuve un problemita al desplegar en github pages, se solucionó corriendo el siguiente código para eliminar el anterior origen remoto antes de ligar mi repositorio local a mi repositorio en github
git remote remove origin
En mi caso hice lo siguiente:
Para proyectos ya desplegados podemos hacer lo siguiente:
Correr los comandos en la terminal
npm run build
npm run deploy
Y si no actualiza los cambios hacer los siguiente :
En el archivo package.json
En el scripts escribir: “deploy”: "gh-pages-clean gh-pages -d build"
Luego corremos en la terminal el siguiente comando
npm run deploy
Luego borrar gh-pages-clean en el package.json y correr nuevamente el comando npm run deploy en la terminal
Luego vamos a nuestro GitHub y ya podemos ver nuestra rama gh-pages ya desplegada…. sigue los pasos de Juan DC paso a paso y lo lograras.
Después de horas y horas de hacer debug por horas y de fallo con el gh-pages, pude hacer el deploy correctamente jsjsj
Dejo mi TODO app hasta éste punto del curso 😄
Ahora con la funcion beta de github actions es un poco mas sencillo, y mas si lo hacen con Vite.js, ellos en su documentacion explican como hacer diploy muy facil, solo hay que crear una carptera y un archivo y en la configuracion de vite agregar la ruta del repositorio y listo. Con los push se va actualizando automaticamente produccion.
Para los que necesiten un resumen de la clase paso a paso, con todos los comandos. Solo denle clic 👇
Desplegando la app
.
Para realizar el deploy se debe de cambiar el name
y homepage
del archivo package.json
.
.
"name": "curso-react-router-proyecto2"
"homepage": "https://platzi.github.io/curso-react-router-proyecto2"
.
Esto se debe a que gh pages
toma estos valores para que cuando transpile la aplicación con webpack
que es lo que utiliza create-react-app
por dentro, cambie todas las rutas para que ya no apunten al localhost, sino que apunten a la url de homepage
.
.
El name
y el homepage
deben coincidir y ahora el nombre ya no es curso-intro-react
sino que curso-react-router-proyecto2
.
.
Entonces, corremos el comando:
.
npm run deploy
.
Se nos generará la carpeta de build
, después se lo manda a una nueva rama en nuestro repositorio de git, y luego de crear esa rama con ese build lo manda a esa misma rama gh-pages
en nuestro repositorio remoto.
.
En caso de error se puede utilizar el comando gh-pages-clean
en el siguiente script:
.
"deploy": "gh-pages-clean gh-pages -d build"
Se corre el comando:
npm run deploy
.
posteriormente, se vuelve a cambiar el script al script anterior:
.
"deploy": "gh-pages -d build"
.
Se corre nuevamente el comando:
.
npm run deploy
.
Finalmente, el sitio está al aire y funciona correctamente.
npm run build
dist
, para visualizar la app se corre:npm run preview
npm install gh-pages --save-dev
package.json
, antes del cierre de la última llave, se agrega:"homepage": "https://nombre_usuario.github.io/nombre_repositorio/"
gh-pages -d dist
queda así:"scripts": {
"dev": "vite",
"build": "vite build",
"lint": "eslint src --ext js,jsx --report-unused-disable-directives --max-warnings 0",
"preview": "vite preview",
"predeploy": "npm run build",
"deploy": "gh-pages -d dist"
},
vite.congig.js
y agregamos: base: "./"
, el código queda:import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import svgr from 'vite-plugin-svgr';
// https://vitejs.dev/config/
export default defineConfig({
plugins: [react(), svgr()],
base: "./",
})
npm run deploy
main
y gh-pages
.gh-pages
seleccionó por nosotros la opción de la rama gh-pages
y la carpeta raíz: /root
.
main
), finalmente dar click al botón verde que dice “deploy”.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?