¿Puede modificar un módulo interno de NodeJS temporalmente? [duplicar]
Nov 19 2020
Quiero poner algo de middleware en el módulo FS temporalmente para registrar toda la actividad de lectura / escritura del Nodo, para poder hacer algo como esto:
const fs = require('fs');
const fsLogger = require('fs-logger');
const someModule = require('some-module');
fsLogger.bind(fs);
someModule.doMagic();
fsLogger.unbind(fs);
¿Es esto posible en absoluto?
Respuestas
RandyCasburn Nov 18 2020 at 23:12
El enfoque moderno para hacer esto con JavaScript es a través de un objeto proxy. Aquí está la descripción de ellos de los documentos:
El objeto Proxy se utiliza para definir un comportamiento personalizado para operaciones fundamentales (por ejemplo, búsqueda de propiedades, asignación, enumeración, invocación de funciones, etc.).
Aquí:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy