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

88
Visualizações
El reemplazo del complemento Webpack Define se evalúa pero no se inyecta

Tengo foo de la biblioteca JS que se está compilando con un paquete web que incluye y compila el código fuente de la biblioteca Phaser 3. Phaser 3 usa el complemento de definición para excluir partes de sí mismo, por ejemplo, reemplazando "typeof CANVAS_RENDERER" con false.

El problema con el que me encuentro es este. cuando incluyo este bloque en la configuración de mi paquete web

 new webpack.DefinePlugin({ "typeof CANVAS_RENDERER": JSON.stringify(false), }),

el tipo de salida que obtengo es este

 if (typeof WEBGL_RENDERER && typeof CANVAS_RENDERER) {} if (typeof WEBGL_RENDERER && !typeof CANVAS_RENDERER) { WebGLRenderer = __webpack_require__(/*! ../renderer/webgl/WebGLRenderer */ "../node_modules/phaser/src/renderer/webgl/WebGLRenderer.js"); // Force the type to WebGL, regardless what was requested config.renderType = CONST.WEBGL; game.renderer = new WebGLRenderer(game); }

Donde typeof CANVAS_RENDERER obviamente se evaluó como falso y, como resultado, el cuerpo de la función se optimizó, pero no reemplazó la declaración original, lo que provocó que el código siguiera la ruta vacía cuando se ejecuta.

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

0

Parece que, si el complemento no puede resolver cada parte de la cláusula if , en su caso typeof WEBGL_RENDERER (ya que esto no está definido en el new webpack.DefinePlugin ), no resuelve el resto.

En otras palabras, si define ambos en el complemento, debería funcionar:

 new webpack.DefinePlugin({ "typeof CANVAS_RENDERER": JSON.stringify(false), "typeof WEBGL_RENDERER": JSON.stringify(true), }),

Al menos eso resolvió el problema descrito, en mi configuración de prueba.

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