When compiling client files to webassembly, usually you'll end up with both .js and .wasm files.
By default, most webservers don't know about the wasm MIME type.
You'll likely see the following error:
wasm streaming compile failed: TypeError: Failed to execute 'compile' on 'WebAssembly': Incorrect response MIME type. Expected 'application/wasm'.
Here is how to add the wasm MIME type (on linux systems, apache + nginx):
Open /etc/mime.types You'll see two columns, media type on the left, file type on the right Add the line application/wasm wasm
Restart your webserver and you're good to go. This will work for Apache and also the Python SimpleHttpServer.
If you're using Nginx, you'll have to edit Nginx's mime types located in /etc/nginx/mime.types Reload nginx for the changes to take effect: sudo systemctl reload nginx
Some APIs require the Content-Type be set to application/wasm, eg. WebAssembly.instantiateStreaming().
Also, I don't think the browser deflates application/gzip (not 100% sure). It does deflate Content-Encoding: gzip