GOOGLE ADS

miércoles, 4 de mayo de 2022

Next.js: cómo obtener activos estáticos desde getStaticProps

Estoy usando Netlify CMS. Quiero importar todas las diapositivas de un carrusel a mi componente. Hice una colección llamada slider y agregué algunas diapositivas. Eso creó dos archivos de rebajas (uno para cada diapositiva) en formato public/content/slider/. Me gustaría importarlos todos en un objeto iterable para poder construir el carrusel.

Debido a que tengo un cargador de paquete web configurado para archivos de descuento, puedo importar un solo archivo de descuento sin problema, como este:

import post from '../public/content/posts/[post name].md

Pero cuando trato de usar require.context, require-context o import fs, no funciona. Así que decido intentar requerir esas librerías desde adentro getStaticProps. Pero __dirnamein getStaticPropsis /, la raíz del sistema de archivos de mi computadora.

Todos los getStaticPropsejemplos utilizan la obtención de datos. Me falta algo de información. ¿Cómo puedo importar todos los archivos de rebajas en la /slides/carpeta?


Solución del problema

Este es un problema conocido en Next.js, __dirnamese resuelve incorrectamente en /: debe usar en su process.cwd()lugar.

De la documentación de los archivos de lectura de Next.js:

Los archivos se pueden leer directamente desde el sistema de archivos en getStaticProps.

Para hacerlo, debe obtener la ruta completa de un archivo.

Dado que Next.js compila su código en un directorio separado que no puede usar __dirname, ya que la ruta que devolverá será diferente del directorio de páginas.

En su lugar, puede usar process.cwd()which le da el directorio donde se está ejecutando Next.js.

No hay comentarios.:

Publicar un comentario

Flutter: error de rango al acceder a la respuesta JSON

Estoy accediendo a una respuesta JSON con la siguiente estructura. { "fullName": "FirstName LastName", "listings...