estoy usando esto:
index.js functions └abc.js └reset.js functions.jsfunciones.js
const fs = require("fs") const functions_ = {} const files = fs.readdirSync("./functions").filter(file => file.endsWith('.js')); for (file of files) { var file_name = file file_name = file_name.substr(0,file_name.search("\\.")) functions_[file_name] = require(`./functions/${file}`) }; module.exports = functions_En resumen, creo una función con ese nombre de carpeta para cada carpeta. Probé este código para que sea mucho más fácil.
require('./functions');pero no funcionó
¿No hay una manera de hacer esto mucho más fácil? (El título puede estar mal, no pude encontrar qué título poner).
La respuesta corta es no.
Para la respuesta larga: no puede porque las instrucciones require / import en todos los idiomas están configuradas para importar archivos y no carpetas. Por lo tanto, no puede requerir una carpeta porque la carpeta técnicamente no tiene un código legible/ejecutable válido. Pero cuando necesita/importa un archivo en JavaScript, las partes exportadas de ese archivo se pueden usar en el archivo "importado" (el archivo desde el cual se importan otros archivos).
No importa la cantidad de archivos, debe importarlos estáticamente a medida que los necesite.
Puede importar todo en esa carpeta a un archivo index.js en esa misma carpeta. Luego importe todo desde ./folder/index , eso también puede funcionar.