Files
wasm-bindgen/guide/src/examples/import-js.md
Alex Crichton 3efe51eb8b Reorganize and rewrite examples
This commit is a large-ish scale reorganization of our examples. The
main goal here is to have a dedicated section of the guide for example,
and all examples will be listed there. Each example's `README` is now
just boilerplate pointing at the guide along with a blurb about how to
run it.

Some examples like `math` and `smorgasboard` have been deleted as they
didn't really serve much purpose, and others like `closures` have been
rewritten with `web-sys` instead of hand-bound bindings.

Overall it's hoped that this puts us in a good and consistent state for
our examples, with all of them being described in the guide, excerpts
are in the guide, and they're all relatively idiomatically using
`web-sys`.
2018-09-20 16:45:30 -07:00

712 B

Importing non-browser JS

View full source code

The #[wasm_bindgen] attribute can be used on extern { .. } blocks to import functionality from JS. This is how the js-sys and the web-sys crates are built, but you can also use it in your own crate!

For example if you're working with this JS file:

// defined-in-js.js
{{#include ../../../examples/import_js/defined-in-js.js}}

you can use it in Rust with:

{{#include ../../../examples/import_js/src/lib.rs}}

You can also explore the full list of ways to configure imports