Rust’s wasm32-unknown-unknown target does not use emscripten at all. The tool cargo-web will handle the js module shims for you.
Rust can be compiled to wasm without emscripten using wasm32-unknown-unknown.
An example of using cargo-web with the stdweb rust project: https://github.com/koute/stdweb#running-the-examples