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 public/content/slider/ . Me gustaría importarlos todos en un objeto iterable para poder construir el carrusel.
Debido a que tengo un cargador de paquetes 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 bibliotecas desde getStaticProps . Pero __dirname en getStaticProps es / , la raíz del sistema de archivos de mi computadora.
Todos los ejemplos de getStaticProps utilizan la obtención de datos. Me falta algo de información. ¿Cómo puedo importar todos los archivos de rebajas en la carpeta /slides/ ?
Este es un problema conocido en Next.js , __dirname se resuelve incorrectamente en / ; debe usar process.cwd() en su 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, no puede usar
__dirnameya que la ruta que devolverá será diferente del directorio de páginas.En su lugar, puede usar
process.cwd()que le proporciona el directorio donde se ejecuta Next.js.