Una forma más fácil de Leer y Escribir Archivos en ElectronJS
Una forma más fácil de leer y escribir archivos en ElectronJS
Etiquetas
TLDR 🥱!!!
En el hilo principal o proceso, utiliza ExpressJs junto con simples APIs de NodeJs (como fs
y path
) para leer y escribir archivos. ¡Fácil peasy! 😊
Pero para aprender cómo hacerlo, sigue leyendo. 👇🏻
Dependencias que necesitarás 📝
Configurando ExpressJs ☕
Conoces ese archivo index.js
o ese archivo index.ts
que tienes en tu proyecto de electron,
ese que contiene el código para crear la ventana principal y todo eso?
Una forma de identificarlo es que seguramente tendrá una función llamada createWindow
dentro de él.
Encuentra ese archivo y llama a tu servidor ExpressJs en él. Yo lo hago en la parte superior, justo después de las importaciones.
const expressApp = startServer(); expressApp.listen(8000, () => console.log('Express app escuchando en el puerto 8000'));
¡Eso es todo! Honestamente 😅, no puede ser más fácil, ¿verdad?
Ahora puedes usar los módulos fs
y path
para leer y escribir archivos.
- 🥰 Un consejo para ti 👇🏻 Una forma efectiva 💪🏻 y increíble ⭐ de leer archivos es mediante el uso de un simple algoritmo de búsqueda de archivos del que escribí anteriormente. Échale un vistazo aquí
Y 😒
Solo por si acaso, así es como puedes leer archivos:
- La función
startServer
.
export default function startServer() { const expressApp = express(); expressApp.use(cors()); expressApp.get(`/`, (_, res) => { res.statusCode = 200; res.contentType('text/plain'); res.send( `El servidor está activo y en funcionamiento. Solicita archivos desde /files/{nombreDeArchivo}` ); }); expressApp.use('/files', fileRouter); return expressApp; }
- Y aquí está el
fileRouter
mencionado anteriormente
const router = express.Router(); router.get('/:filename', (req, res) => { const filename = req.params.filename; // 👇🏻 encuentra este algoritmo `fileSearch` en el menú desplegable de Publicaciones Relacionadas fileSearch( pathOfDirectoryToSearchIn, filename, (err: Error, resultArr: string[]) => { if (err) { res.statusCode = 500; res.contentType('text/plain'); res.send(err); } else { res.statusCode = 200; // 👇🏻 o 'application/json' o cualquier cosa basada en el tipo de dato res.contentType('text/plain'); resultArr.length > 0 ? res.sendFile(resultArr[0]) : res.send('No se encontró el archivo'); } }); });
¡Eso es todo!, gracias 🤗 por leer hasta aquí