Diego Fernando Velesaca Orellana
Algo a tener en cuenta es que la version minima requerida de node es la 18.17.0
¿Cómo crear un proyecto en Next.js utilizando TypeScript?
Iniciar un proyecto en Next.js es sencillo y eficiente gracias al comando create-next-app. Esta herramienta no solo establece la estructura necesaria del proyecto, sino que también permite integrar TypeScript, una opción que se recomienda encarecidamente. Para comenzar, es fundamental tener Node.js instalado, ya que el comando requiere de nbx.
Al crear un proyecto, puedes incluir opciones que mejoren la organización y el desarrollo, como:
source para una mejor organización del código.app-router, la nueva metodología de Next.js para manejar el enrutamiento, lo cual exploraremos a más detalle en otras ocasiones.Configuración del proyecto en Next.js
Durante la configuración inicial, tienes la opción de personalizar un alias de importación que facilite la gestión de los módulos en tu proyecto. Una vez configurado, Next.js requiere pocas dependencias, tanto para desarrollo como para producción:
react, react-dom, next.typescript, eslint.Con el proyecto creado, es conveniente explorarlo con una herramienta como Visual Studio Code para familiarizarse con la estructura general.
¿Cuál es la arquitectura del proyecto en Next.js?
La arquitectura de Next.js organiza de manera eficiente los diferentes archivos y carpetas que conforman un proyecto:
El archivo package.json y scripts clave
Dentro del archivo package.json, se encuentran los scripts que ejecutan las tareas principales:
next dev: Inicia el servidor de desarrollo para ver los cambios en tiempo real.next build: Compila el proyecto para producción.next start: Inicia el proyecto en modo producción.next lint: Verifica que el código cumple con los estándares de calidad definidos.El enrutamiento con el app-router
En la carpeta source se ubica el app-router, que contiene archivos vitales para la configuración del proyecto:
app.root layout.Recursos adicionales: configuración y caché
Además de la organización principal, hay otros aspectos importantes a considerar:
La carpeta pública y configuración con next.config.js
Dentro de la carpeta public se almacenan todos los recursos que deben ser públicamente accesibles, como imágenes y fuentes. El archivo next.config.js es crucial para configuraciones avanzadas, incluyendo compiladores de SAS y configuraciones complejas de Webpack.
La importancia del tsconfig.json y la carpeta .next
El archivo tsconfig.json maneja configuraciones específicas de TypeScript y define los paths para alias dinámicos. Finalmente, la carpeta .next, generada durante el build del proyecto, almacena los archivos cacheados. En caso de problemas como caches persistentes de estilos o componentes, es recomendable eliminar esta carpeta para solucionar errores comunes.
Next.js automatiza muchas decisiones arquitectónicas, permitiendo a los desarrolladores centrarse en crear aplicaciones funcionales y robustas. ¿Listo para comenzar con tu próximo proyecto en Next.js? Dedica tiempo a explorar y comprender plenamente cada uno de estos componentes para maximizar la eficiencia y la calidad de tu desarrollo. ¡Adelante y sigue aprendiendo y explorando nuevas tecnologías en el emocionante mundo de la programación web!
Diego Fernando Velesaca Orellana
Algo a tener en cuenta es que la version minima requerida de node es la 18.17.0
Javier Silva Avendaño
Me parece una falta de respeto que los profesores nunca pongan el nombre del tema para VSCode que ocupan 🤣
Juan Diaz
a mi me gusta mucho Tailwind. Q lastima q no lo usen
German Pinto
integralo tu mismo al proyecto!! no es necesario hacerlo tal cual las tecnologias q usa el profe
Jose Ever Muñoz Muñoz
como el curso trata sobre la version 14 el comando es
npx create-next-app@14
Xavier Flores
Diego Fernando Velesaca Orellana
Primer comentario 😅
Hansell Sotolongo
Next.js es un framework de React que permite construir aplicaciones web y tiendas en línea de manera eficiente. Proporciona características como renderizado del lado del servidor (SSR), generación de sitios estáticos (SSG), ruteo automático y optimización del rendimiento. Con Next.js, puedes crear aplicaciones escalables con una arquitectura organizada, facilitando el manejo de datos, autenticación y SEO. Es ideal para desarrolladores que buscan rapidez y eficiencia en su flujo de trabajo al construir proyectos modernos en JavaScript.
Facundo Pettersson
El uso de pnpm en lugar de npm es una excelente recomendación, ya que pnpm gestiona las dependencias de manera más eficiente, lo que puede resultar en un mejor rendimiento y un menor uso de espacio en disco. Utiliza enlaces simbólicos para compartir las dependencias, lo que minimiza la duplicación. Esto es especialmente útil en proyectos grandes como los desarrollados en Next.js. Considera seguir esta recomendación para optimizar tu flujo de trabajo en el desarrollo de aplicaciones con Next.js.
Yan Arlex Vallejo Rosas
Estaba esperando este curso.
nota: cuando usamos el npx create-next-app@latest no pasa nada si se nos olvida colocarle el flag --ts, ya que mas adelante nos lo preguntara 'Deseas usar TypeScript en este proyecto?'
Éxitos para todos
Jose Tellez
Cuál es la diferencia entre un servidor de desarrollo y uno de producción?
Platzi
La diferencia entre un servidor de desarrollo y uno de producción es que el servidor de desarrollo se utiliza durante la etapa de desarrollo del proyecto, mientras que el servidor de producción es el que se utiliza para que las personas puedan acceder y utilizar la aplicación en su estado final.
Ricardo Vargas
El servidor de desarrollo es más lento y mucho más pesado porque se necesita ver todos los cambios en vivo, así que no hay minificación, code splitting y todos esos procesos que toma tiempo hacerlos. Esto para que puedas ver tus cambios inmediatamente. En cambio, en el servidor de producción, al correr el comando build, se hacen todas esas optimizaciones para que el usuario final pueda cargar el sitio super rápido.
Felipe López
Hola!
Como podría actualizar la versión de Node Js por la última?
He intentado con los comandos:
Muchas gracias!!
Daniel Fernando Reyes Vasquez
Puedes usar npm run dev --turbo .
Con esto puedes usar turbo pack.
Jorge Eliecer Rangel Jimenez
O lo puedes añadir al script dev:
"dev": "next dev --turbo",
Christopher Andrés Guano Valencia
###🚀 App Router vs Pages Router
Next.js tiene dos enrutadores diferentes: App Router y Pages Router. App Router es un enrutador más nuevo que le permite utilizar las funciones más recientes de React, como Server Components. Pages Router es el enrutador Next.js original, que le permitió a crear aplicaciones React renderizadas en el servidor utilizando getStaticProps y getServerSideProps y continúa siendo compatible con aplicaciones Next.js más antiguas.
.
Ten esto presente porque hay mucha información sobre Pages Router (ya que estuvo varios años en funcionamiento). Puedes revisar la documentación de Next.js para que veas las diferencias , hay menú desplegable que muestra “Using App router” o “Using Pages router”.
Javier Damiani
Qué tema de VSCode es ese??? :o
Sebastian Gutierrez
hay algo curioso, no se si solo es a mi, que del min 2.53 al min 3 no carga, toca adelantar hasta el min 3 para que continue y mientras escribo, pasa algo de que se pixela algunas zonas de la pagina
Juan Diaz
npx create-next-app@latest --ts
Guido Juliano Mazzuchini Ubaldi
Muy entusiasmado de realizar este curso! Que tengan todos un muy buen día
David Josué Camperos Hernández
Ya que la última versión de Next.js 16, he decidido usar este comando para usar la versión 14 de este curso:
npx create-next-app@14 --ts
Resumen clase 2 - 25/02/2024
# TOP Levels Folders Son usadas para organizar nuestra aplicacion y recuros estaticos: app App Router pages Pages Router public Static assets to be served src Optional application source folder # TOP LEVELS FILES Son usadas para configurar nuestra aplicacion, manejar dependencias, correr middleware, integrar herramientas de monitoreo y definir variables de entorno. next.config.js Configuration file for Next.js package.json Project dependencies and scripts instrumentation.ts OpenTelemetry and Instrumentation file middleware.ts Next.js request middleware .env Environment variables .env.local Local environment variables .env.production Production environment variables .env.development Development environment variables .eslintrc.json Configuration file for ESLint .gitignore Git files and folders to ignore next-env.d.ts TypeScript declaration file for Next.js tsconfig.json Configuration file for TypeScript jsconfig.json Configuration file for JavaScript # APP ROUTING CONVENTIONS Dentro del App router pueden existir estos archivos: layout Layout page Page loading Loading UI not-found Not found UI error Error UI global-error Global error UI route endpoint template Re-rendered layout default Parallel route fallback page - Pero adicionalmente ofrece otros features como: [x] Nested Routes [x] Dynamic Routes [x] Route Groups and Private Folders [x] Parallel and Intercepted Routes [x] Metadata File Conventions [x] Open Graph and Twitter Images [x] SEO ```Ref: \[Next.js Project Structure]\(<u>https://nextjs.org/docs/getting-started/project-structure</u>)