¿Qué haría que se creara un HTML estático para una página no estática usando Next.js? No estoy seguro de si está causando algún problema, pero noté que esto sucedía mientras solucionaba un problema con esta página específica. ¿Es esto esperado?
Lo que quiero decir es que tenemos una página, llamémosla "página1", que no tiene las getStaticPaths()
o getStaticProps()
.
Esta página se basa en datos del lado del servidor, pero no utiliza getInitialProps()
o getServerSideProps()
ya que están en desuso.
Cuando cd
en el directorio de compilación, puedo ver .next/server/pages/page1.html
, ¿se espera esto? No hay ningún archivo page1.json
. Si no, ¿qué causaría la creación de este archivo HTML?
Sí, eso es de esperar. Es la optimización estática automática de Next.js en juego.
Si su página no contiene getServerSideProps
/ getInitialProps
, Next.js optimizará automáticamente la página de forma estática y la renderizará previamente como HTML estático.
De los documentos:
Si
getServerSideProps
ogetInitialProps
están presentes en una página, Next.js cambiará para representar la página a pedido, por solicitud (es decir, Representación del lado del servidor).Si lo anterior no es el caso, Next.js optimizará estáticamente su página automáticamente preprocesando la página en HTML estático.
Durante la representación previa, el objeto de consulta del enrutador estará vacío ya que no tenemos información de consulta para proporcionar durante esta fase. Después de la hidratación, Next.js activará una actualización de su aplicación para proporcionar los parámetros de ruta en el objeto de consulta.
next build
emitirá archivos.html
para páginas estáticamente optimizadas.