Mi proyecto actual usa Node tanto para el frontend como para el backend y ExpressJS como middleware.
Tengo un requisito en el que necesito una implementación de alternancia de funciones para introducir algunas funciones nuevas en mi aplicación. Estoy usando un parámetro de URL, por ejemplo, &featureToggle=true para determinar si el código de ejecución sería el nuevo o el existente.
Ahora tengo partes en frontend y backend que deben cambiarse en función de la función de alternancia. En el backend, puedo obtener el objeto de consulta por separado y extraer el parámetro de URL, de manera similar también en el módulo frontend.
¿Hay alguna manera en la que pueda usar Express para interceptar el parámetro de consulta, establecer un valor de variable en verdadero o falso en función de la función de alternar, y que podría usarse en los módulos de frontend y backend?
con express puede usar req.query que recopila la cadena de consulta enviada en la solicitud. Podrías pasarlo así:
localhost:9000/path?&featureToggle=true el ? es importante que le diga a express que está creando una consulta.
si luego lo colocas en una variable:
const query = req.queryobtendrías el siguiente resultado:
{ featureToggle: 'true' }como puede ver, está devolviendo un objeto. puedes comprobarlo así:
if(req.query.featureToggle === 'true'){ runSomeCode(); };o en su caso si desea ejecutar algún tipo de middleware:
router.get('/', (req, res, next) => { if(req.query.featureToggle === 'true'){ return next(toggle) } };