Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

211
Visualizações
Manifiesto V3: clase de importación en service_worker

estoy tratando de importar una clase en mi trabajador de servicio, en mi extensión de Chrome

Así que esto es lo que tengo al principio del archivo:

 /*global chrome*/ try { importScripts("utils/utils.js"); } catch (e) { console.log(e); }

y esta es la función donde llamo a la clase:

 async function injectPopup() { try { let b = new Utils(); } catch (e) { console.log(e); } . . .

el console.log me está imprimiendo esto:

 ReferenceError: Utils is not defined at injectPopup (<anonymous>:4:17) at <anonymous>:28:3

este es el contenido de utils/utils.js :

 class utils { test() { console.log("foooo"); } }

¿Puedes decirme cómo se supone que debo llamar a las clases? el objetivo es tener un código más limpio y no toda la lógica en el mismo service_worker, por lo que si hay otra práctica mejor, me encantaría saber

Gracias !

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

En mi caso hubo dos problemas:

Primero, como comentó wOxxOm , necesitaba crear una variable global en el archivo service_worker:

 /*global chrome*/ let globals = {}; // HERE try { importScripts("utils/Utils.js"); } catch (e) { console.log(e); }

Y en la declaración de clase para agregarlo al global así:

 globals.Utils = class Utils { test() { console.log("foo"); } }

El segundo problema fue que lo estaba llamando desde una función dada a chrome.scripting.executeScript que no puede funcionar, porque el script se ejecuta solo en la pestaña Javascript dada y no en el Javascript emergente, y es por eso que la clase no pudo ser encontrado.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda