mirror of
https://github.com/denoland/deno.git
synced 2025-02-01 20:25:12 -05:00
Add wasm example to manual (#3353)
This commit is contained in:
parent
306ab015e8
commit
411f53f7bb
1 changed files with 27 additions and 0 deletions
|
@ -951,6 +951,33 @@ for await (const req of serve(":8000")) {
|
||||||
$ deno run --importmap=import_map.json hello_server.ts
|
$ deno run --importmap=import_map.json hello_server.ts
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## WASM support
|
||||||
|
|
||||||
|
Deno can execute [wasm](https://webassembly.org/) binaries.
|
||||||
|
|
||||||
|
<!-- prettier-ignore-start -->
|
||||||
|
```js
|
||||||
|
const wasmCode = new Uint8Array([
|
||||||
|
0, 97, 115, 109, 1, 0, 0, 0, 1, 133, 128, 128, 128, 0, 1, 96, 0, 1, 127,
|
||||||
|
3, 130, 128, 128, 128, 0, 1, 0, 4, 132, 128, 128, 128, 0, 1, 112, 0, 0,
|
||||||
|
5, 131, 128, 128, 128, 0, 1, 0, 1, 6, 129, 128, 128, 128, 0, 0, 7, 145,
|
||||||
|
128, 128, 128, 0, 2, 6, 109, 101, 109, 111, 114, 121, 2, 0, 4, 109, 97,
|
||||||
|
105, 110, 0, 0, 10, 138, 128, 128, 128, 0, 1, 132, 128, 128, 128, 0, 0,
|
||||||
|
65, 42, 11
|
||||||
|
]);
|
||||||
|
const wasmModule = new WebAssembly.Module(wasmCode);
|
||||||
|
const wasmInstance = new WebAssembly.Instance(wasmModule);
|
||||||
|
console.log(wasmInstance.exports.main().toString());
|
||||||
|
```
|
||||||
|
<!-- prettier-ignore-end -->
|
||||||
|
|
||||||
|
WASM files can also be loaded using imports:
|
||||||
|
|
||||||
|
```ts
|
||||||
|
import { fib } from "./fib.wasm";
|
||||||
|
console.log(fib(20));
|
||||||
|
```
|
||||||
|
|
||||||
## Program lifecycle
|
## Program lifecycle
|
||||||
|
|
||||||
Deno supports browser compatible lifecycle events: `load` and `unload`. You can
|
Deno supports browser compatible lifecycle events: `load` and `unload`. You can
|
||||||
|
|
Loading…
Add table
Reference in a new issue