Estoy tratando de mostrar mi aplicación C++/SDL2 compilada con Emscripten desde un React FE.
Mis archivos .js y .wasm se almacenan en un depósito de AWS S3 y se obtienen de un CDN de CloudFront. El archivo .js se coloca en una etiqueta <script> y se agrega a la página (esto funciona).
El archivo .js no puede encontrar el archivo .wasm. Normalmente, este proceso ocurre en un método llamado locateFile() que devuelve una ruta de cadena ( ¿Cómo puedo cargar archivos .wasm almacenados en un subdirectorio? ). He anulado esto agregando otro script con un Module global justo antes e intenté usar el cdn:
var Module = { locateFile: (function locateFile(path) { return `${CDN_WASM_URL}` })() } Sin embargo, esto da como resultado Aborted(CompileError: WebAssembly.instantiate(): expected magic word... found ... lo que indica que el tipo devuelto puede no ser correcto. He confirmado que el mismo archivo funciona haciendo referencia a él localmente. Sin embargo, cuando ejecutando .text() en la Respuesta de obtener tanto de la CDN como del archivo local, la versión local aparece como símbolos aleatorios mientras que el resultado de la CDN muestra el código real del archivo wasm.