Estoy usando una herramienta de prueba AB lista para usar en la empresa para la que trabajo, llamada Google Optimize 360, para crear pruebas AB de front-end en nuestro sitio web.
Esta herramienta funciona como Google Analytics... ya que se inyecta un script en la etiqueta <head> de la página en la que desea ejecutar las pruebas AB. Y luego agrega Vanilla JS, CSS, etc. a medida en Optimize 360, para rediseñar/probar elementos DOM de una página. https://marketingplatform.google.com/about/optimize-360/
(Así que, básicamente, las pruebas AB se ejecutan sobre el código base compilado... no dentro de él).
El sitio web en el que estoy ejecutando pruebas AB está integrado en React y tiene muchas limitaciones, ya que parece que no puedo acceder a ningún componente/módulo/función a través del front-end (fuera de la aplicación). Por ejemplo, a través de la consola de cromo.
Angular, por ejemplo, es excelente, porque puedo acceder a métodos a través de servicios angulares en el front-end a través de angular.element . P.EJ:
angular.element(document.body).injector().get("ANGULAR_SERVICE");
¿Hay alguna alternativa para reaccionar?
No he podido encontrar nada que funcione, donde pueda activar módulos/funciones a través de la consola de Chrome.
Por ejemplo, no pude hacer que dynamic import funcionara a través de la consola de Chrome, ya que ni siquiera puedo ver la ruta al módulo en el código base compilado...
import('path/to/module.js').then(m => module = m)
Básicamente probé algunas opciones en esta página:
Cómo usar módulos ES6 desde la consola de herramientas de desarrollo
Aprecio que se supone que reaccionar no debe funcionar de esta manera ... Pero, ¿hay alguna forma de que pueda cambiar la aplicación de reacción para permitir que ciertos módulos / funciones sean accesibles a través del front-end?
¿Qué habría que hacer?
También conozco la extensión de Chrome "React Developer tools" , pero esto no es lo que estoy buscando. Estoy buscando invocar funciones fuera de la aplicación de reacción (no atravesar el dom/módulo).
Gracias,