<html> <head> <meta content="text/html;charset=utf-8" http-equiv="Content-Type"/> </head> <body> <script> // The `--no-modules`-generated JS from `wasm-bindgen` attempts to use // `WebAssembly.instantiateStreaming` to instantiate the wasm module, // but this doesn't work with `file://` urls. This example is frequently // viewed by simply opening `index.html` in a browser (with a `file://` // url), so it would fail if we were to call this function! // // Work around this for now by deleting the function to ensure that the // `no_modules.js` script doesn't have access to it. You won't need this // hack when deploying over HTTP. delete WebAssembly.instantiateStreaming; </script> <!-- this is the JS generated by the `wasm-bindgen` CLI tool --> <script src='./no_modules.js'></script> <script> // the `wasm_bindgen` global is set to the exports of the Rust module const { greet } = wasm_bindgen; // we'll defer our execution until the wasm is ready to go function run() { greet('World'); } // here we tell bindgen the path to the wasm file so it can run // initialization and return to us a promise when it's done wasm_bindgen('./no_modules_bg.wasm') .then(run) .catch(console.error); </script> </body> </html>