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

233
Visualizações
Obteniendo "Error de referencia no detectado: x no está definido" ¿Cómo hacer referencia a los datos de un archivo js incluido en el mecanografiado de otro script?

Estoy haciendo una pequeña configuración de prueba para mecanografiado. Mi objetivo principal es agrupar todos los módulos .ts en un único archivo .js al que se puede hacer referencia en el lado del cliente en un index.html simple. Este es mi módulo de prueba:

 // index.ts import { Example } from './example' class x { example(): void { console.log(Example) } } let test = new x() test.example() // example.ts export const Example : string = 'Example Message'

Compilo todo en un archivo bundle.js usando Webpack 5 y ts-loader. Luego, creé un archivo .html para probar la clase creada. Allí, el test.example() dentro index.ts (y luego bundle.js ) se ejecutó correctamente, pero el segundo, dentro de <script/> informa Uncaught ReferenceError: x is not defined .

 <!-- index.html --> <html> <script src="../dist/js/bundle.js"></script> <script> // Uncaught ReferenceError: x is not defined let test = new x() test.example() </script> </html>

¿Cómo puedo hacer referencia a mi clase x desde el segundo <script/> ?

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

0

¿Cómo puedo hacer referencia a mi clase x desde el segundo <script/> ?

no puedes Al menos no sin modificar la estructura de su código fuente.

Un empaquetador pone todo su código ejecutable en el paquete. Eso incluye sus dependencias y el código de su aplicación. Y todo eso solo está realmente diseñado para funcionar desde ese paquete a través de las palabras clave de import y export .

El paquete gestiona esas importaciones/exportaciones de una manera que no contamina el alcance global. Pero sí requiere que te quedes dentro de ese paquete.

Sin embargo, parece que desea que su paquete haga que algunos valores estén disponibles en ese ámbito global. Y para hacer eso, debes ser explícito al respecto.

 class x { example(): void { console.log(Example) } } // Add `x` to the browser's global scope. window.x = x

Ahora, desde alguna otra etiqueta <script> , la new x() debería funcionar como espera.

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