CLI de Next.js
La CLI de Next.js te permite iniciar, construir y exportar tu aplicación.
Para obtener una lista de los comandos disponibles en la CLI, ejecuta el siguiente comando dentro del directorio de tu proyecto:
npx next -h(npx viene incluido con npm 5.2+ y versiones superiores)
La salida debería verse así:
Uso
$ next <comando>
Comandos disponibles
build, start, export, dev, lint, telemetry, info
Opciones
--version, -v Número de versión
--help, -h Muestra este mensaje
Para más información ejecuta un comando con el flag --help
$ next build --helpPuedes pasar cualquier argumento de node a los comandos de next:
NODE_OPTIONS='--throw-deprecation' next
NODE_OPTIONS='-r esm' next
NODE_OPTIONS='--inspect' nextBueno saber: Ejecutar
nextsin un comando es lo mismo que ejecutarnext dev
Build
next build crea una versión optimizada para producción de tu aplicación. La salida muestra información sobre cada ruta.
- Size – El número de recursos descargados al navegar a la página del lado del cliente. El tamaño para cada ruta solo incluye sus dependencias.
- First Load JS – El número de recursos descargados al visitar la página desde el servidor. La cantidad de JS compartido por todos se muestra como una métrica separada.
Ambos valores están comprimidos con gzip. La primera carga se indica con verde, amarillo o rojo. Apunta a verde para aplicaciones con buen rendimiento.
Puedes habilitar el perfilado de producción para React con el flag --profile en next build. Esto requiere Next.js 9.5:
next build --profileDespués de esto, puedes usar el perfilador de la misma manera que lo harías en desarrollo.
Puedes habilitar una salida de construcción más detallada con el flag --debug en next build. Esto requiere Next.js 9.5.3:
next build --debugCon este flag habilitado, se mostrará información adicional de la construcción como rewrites, redirects y headers.
Desarrollo
next dev inicia la aplicación en modo desarrollo con recarga en caliente de código, reporte de errores y más:
La aplicación se iniciará en http://localhost:3000 por defecto. El puerto predeterminado se puede cambiar con -p, así:
npx next dev -p 4000O usando la variable de entorno PORT:
PORT=4000 npx next devBueno saber:
PORTno puede configurarse en.envya que el inicio del servidor HTTP ocurre antes de que se inicialice cualquier otro código.
También puedes configurar un hostname diferente al predeterminado 0.0.0.0, esto puede ser útil para hacer que la aplicación esté disponible para otros dispositivos en la red. El hostname predeterminado se puede cambiar con -H, así:
npx next dev -H 192.168.1.2Producción
next start inicia la aplicación en modo producción. La aplicación debe compilarse primero con next build.
La aplicación se iniciará en http://localhost:3000 por defecto. El puerto predeterminado se puede cambiar con -p, así:
npx next start -p 4000O usando la variable de entorno PORT:
PORT=4000 npx next startBueno saber:
PORTno puede configurarse en.envya que el inicio del servidor HTTP ocurre antes de que se inicialice cualquier otro código.
next startno puede usarse conoutput: 'standalone'ooutput: 'export'.
Tiempo de espera Keep Alive
Cuando despliegas Next.js detrás de un proxy descendente (ej. un balanceador de carga como AWS ELB/ALB) es importante configurar el servidor HTTP subyacente de Next con tiempos de espera keep-alive que sean mayores que los del proxy descendente. De lo contrario, una vez que se alcance el tiempo de espera keep-alive para una conexión TCP dada, Node.js terminará inmediatamente esa conexión sin notificar al proxy descendente. Esto resulta en un error del proxy cada vez que intenta reutilizar una conexión que Node.js ya ha terminado.
Para configurar los valores de tiempo de espera para el servidor de producción de Next.js, pasa --keepAliveTimeout (en milisegundos) a next start, así:
npx next start --keepAliveTimeout 70000Lint
next lint ejecuta ESLint para todos los archivos en los directorios pages/, app/, components/, lib/, y src/. También
proporciona una configuración guiada para instalar cualquier dependencia requerida si ESLint no está ya configurado en
tu aplicación.
Si tienes otros directorios que deseas analizar, puedes especificarlos usando el flag
--dir:
next lint --dir utilsTelemetría
Next.js recopila datos de telemetría completamente anónimos sobre el uso general. La participación en este programa anónimo es opcional, y puedes optar por no participar si no deseas compartir información.
Para aprender más sobre Telemetría, por favor lee este documento.
Next Info
next info imprime detalles relevantes sobre el sistema actual que pueden usarse para reportar errores de Next.js.
Esta información incluye plataforma/arquitectura/versión del Sistema Operativo, Binarios (Node.js, npm, Yarn, pnpm) y versiones de paquetes npm (next, react, react-dom).
Ejecutar lo siguiente en el directorio raíz de tu proyecto:
next infote dará información como este ejemplo:
Sistema Operativo:
Plataforma: linux
Arquitectura: x64
Versión: #22-Ubuntu SMP Fri Nov 5 13:21:36 UTC 2021
Binarios:
Node: 16.13.0
npm: 8.1.0
Yarn: 1.22.17
pnpm: 6.24.2
Paquetes relevantes:
next: 12.0.8
react: 17.0.2
react-dom: 17.0.2Esta información debe luego pegarse en Issues de GitHub.
Para diagnosticar problemas de instalación, puedes ejecutar next info --verbose para imprimir información adicional sobre el sistema y la instalación de paquetes relacionados con next.