¿Cómo puedo crear una biblioteca de javascript (distribuida como módulo en npm) con diferentes implementaciones dependiendo de si el entorno en el que se ejecuta (¿al que se transpila?) tiene soporte de proxy o no?
Según tengo entendido, babel no admite (al menos fácilmente) la transpilación de proxies, por lo que esto no se puede solucionar fácilmente solo mediante la transpilación.
Tienes pocas opciones:
Un ejemplo es this (que creo que debería ser lo suficientemente bueno) o this .
Proxy A menos que haya declarado una variable llamada Proxy , creo que esto debería ser lo suficientemente bueno.
console.log(typeof Proxy !== 'undefined') Esto generará un valor Boolean si Proxy está disponible.
Ejemplo de uso de lo anterior:
if(typeof Proxy !== 'undefined') { // run code that uses Proxies console.log('I can use Proxies here!') } else { // run code that doesn't use Proxies console.log('Oops! I can\'t use Proxies here!') } NOTA: debe usar typeof para verificar si la variable Proxy existe o no, ya que simplemente devolverá undefined en lugar de arrojar un error.