Con algunos conocimientos básicos de React y JavaScript, estará en camino
Next.js es un marco de JavaScript creado por Zeit. Le permite crear aplicaciones web estáticas y de renderización del lado del servidor utilizando React. Es una gran herramienta para construir su próximo sitio web. Tiene muchas características y ventajas excelentes, que pueden hacer de Nextjs su primera opción para crear su próxima aplicación web.
No necesita ninguna configuración de paquete web o similar para comenzar a usar Next.js. Viene con su configuración. Todo lo que necesita es ejecutar npm run dev
y comenzar a construir su aplicación.
En este artículo, vamos a explorar las excelentes características y trucos de Next.js, y cómo comenzar a construir su próximo sitio web con él.
Esta publicación asume que tienes algunos conocimientos básicos de React y JavaScript.
Aquí hay algunos sitios web excelentes creados con Next.js:
- Syntaxt.fm
- npmjs
- material-ui.io
- expo.io
- codemenitor.io
Incluso utilicé Nextjs para construir mi sitio web personal saidhayani.me; puedes obtener el código fuente en GitHub aquí.
Empezando con Next.js
Para comenzar con Next.js, debe tener node.js instalado en su máquina y eso es todo. Next.js es como cualquier otra aplicación de node.js: necesita npm o Yarn para instalar las dependencias.
Comencemos y creemos un proyecto Next.js.
Primero, necesitamos crear una carpeta y darle un nombre de nuestra elección. Voy a nombrarlo nextjs-app
.
Puede hacerlo fácilmente con esta línea de comando:

mkdir nextjs-app
Después de crear la carpeta nextjs-app, ábrala en la terminal. Ejecutar npm init
para crear el package.json
archivo.
A continuación, tenemos que instalar nuestras dependencias.
Instalación de Next.js
- usando hilo, escriba
yarn add next
- usando npm, escriba:
npm i next --save
Luego tenemos que instalar React porque Next.js usa React. La primera línea a continuación utiliza Yarn para la instalación.
yarn add react react-dom
// with npm
npm i react react-dom --save
Después de eso, debe crear dos carpetas necesarias: pages
y static
. ¡¡Next.js no funcionará sin ellos !!

mkdir pages static
Usted debe tener esta estructura después de ejecutar estos comandos:
nextjs-app -pages -static -package.json
Y luego simplemente puede ejecutar npm next dev
y luego abrir //localhost:3000/
en su navegador.
La NotFound
página aparecerá porque todavía no tenemos ninguna.

Así que creemos una home
página y un punto de entrada index.js
.

touch index.js home.js
Y luego puede escribir un componente React normal. Como dije anteriormente, Next.js es para crear aplicaciones React.
Así es home.js
como se ve nuestro :

Y aquí está nuestro index.js
archivo:

Next.js tiene una función de recarga en vivo. Todo lo que necesita hacer es cambiar y guardar, y Next.js compilará y volverá a cargar la aplicación automáticamente por usted.
Nota : Next.js es como cualquier otra herramienta de renderización del lado del servidor que necesitamos para definir la página predeterminada de nuestra aplicación, en nuestro caso es index.js
.
Verá este cambio en el navegador después de ejecutar npm next dev
:

¡Felicidades! Acabamos de crear una aplicación Next.js con unos sencillos pasos. Estas instrucciones para crear una aplicación Next.js se describen en los documentos oficiales de Next.js.
Mi alternativa
Normalmente no uso de esta forma. En su lugar, uso la CLI de create-next-app que hará todo esto por mí en una sola línea.
npx create-next-app my-app

Puede consultar la documentación aquí para explorar más funciones.
Crea configuraciones personalizadas para Next.js
A veces, es posible que desee agregar algunas dependencias o paquetes adicionales a su aplicación Next.js.
Next.js te da la opción de personalizar tu configuración usando un next-config.js
archivo.
Por ejemplo, es posible que desee agregar soporte sass a su aplicación. En este caso, debe usar el paquete next-sass y debe agregarlo al next-config.js
archivo como en el siguiente ejemplo:
Primero, instale next-sass
:

yarn add @zeit/next-sass
Luego inclúyelo dentro del next-config.js
archivo:

Y luego puede crear, escribir su código sass e importarlo en su componente:

Importando el archivo sass en nuestro componente:

Y aqui esta el resultado:

Vaya, ¿no fue tan fácil agregar soporte sass a nuestra aplicación Next.js?
En este punto, solo cubrimos la parte de instalación y configuración. ¡Ahora hablemos de las características de Next.js!
Las características
Next.js viene con un montón de excelentes características como renderizado del lado del servidor, enrutadores y carga diferida.
Representación del lado del servidor
Next.js realiza la renderización del lado del servidor de forma predeterminada. Esto hace que su aplicación esté optimizada para los motores de búsqueda. Además, puede integrar cualquier middleware como express.js o Hapi.js, y puede ejecutar cualquier base de datos como MongoDB o MySQL.
Hablando de optimización de motores de búsqueda, Next.js viene con un Head
componente que le permite agregar y crear metaetiquetas dinámicas. Es mi característica favorita: puedes crear metaetiquetas dinámicas y personalizadas. Estos hacen que su sitio web pueda ser indexado por motores de búsqueda como Google. A continuación, se muestra un ejemplo de un Head
componente:

Y puede importar y usar el Head
componente en cualquier otra página:

¡Increíble!
Nota : Con Next.js no necesita importar React porque Next.js lo hace por usted.
Generando un sitio web estático con Next.js
Además de la representación del lado del servidor, aún puede compilar y exportar su aplicación como un sitio web estático HTML e implementarla en un alojamiento de sitios web estáticos como una página de GitHub o netlify. Puede obtener más información sobre cómo crear un sitio web estático con Next.js aquí en los documentos oficiales.
Enrutadores
Esta es otra de las grandes características de Next.js. Cuando usa la aplicación create-react-app, generalmente necesita instalar react-router y crear su configuración personalizada.
Next.js viene con sus propios enrutadores sin configuraciones. No necesita ninguna configuración adicional de sus enrutadores. Simplemente cree su página dentro de la pages
carpeta y Next.js se encargará de toda la configuración del enrutamiento.
¡Sigamos adelante y creemos una navegación personalizada para dejar todo en claro!
Para navegar entre páginas, Next.js tiene el Link
método para administrar la navegación.

Creemos blog.js
y contact.js
páginas:
blog.js

Y aquí está la contact.js
página:

¿Y ahora debemos poder navegar entre esas páginas?

Vaya, eso es tan fácil y súper asombroso.
Carga lenta
La carga diferida hace que su aplicación brinde una mejor experiencia de usuario. A veces, la página puede tardar en cargarse. El usuario puede abandonar su aplicación si la carga tarda más de 30 segundos.
La forma de evitar esto es usar algún truco para indicar al usuario que la página se está cargando, por ejemplo, mostrando una ruleta. La carga diferida o la división de código es una de las características que le permite lidiar y controlar la carga lenta para que solo cargue el código necesario en su página.
Next.js viene con su propio método de división de código. Nos proporciona un método, llamado dynamic
, para cargar nuestro componente, como en el siguiente ejemplo:

Puede encontrar el código fuente de estos ejemplos en GitHub
Eso es todo. Espero que sea suficiente y espero que este artículo te dé una idea clara sobre Next.js y sus características. Puede obtener más información sobre otras funciones en los documentos oficiales.
Si tiene otras adiciones a esta publicación, puede dejar un comentario a continuación y si le gusta esta publicación, presione aplaudir. y compartir.
¿Discutir en Twitter ?.
Por cierto, recientemente trabajé con un grupo sólido de ingenieros de software para una de mis aplicaciones móviles. La organización fue excelente y el producto se entregó muy rápido, mucho más rápido que otras empresas y autónomos con los que he trabajado, y creo que puedo recomendarlos honestamente para otros proyectos. Envíeme un correo electrónico si desea ponerse en contacto: [email protected]