如何使用Wasm with Rust为多个HTML页面提供服务



我正在尝试构建一个在客户端运行wasm的web应用程序,我想知道什么是服务多个页面的好方法。我主要关心的是性能,因为我希望将应用程序拆分为上下文块,而不是一个页面包含所有内容。

我在客户端使用Rust和Yew框架,到目前为止,我只在客户端使用Yew_router来处理不同的路由,但它们都在同一个HTML页面和Wasm模块中工作。现在,我希望能够用单独的Wasm模块为不同的HTML页面提供服务,但我不确定如何实现这一点。我真的必须为每个页面写一个专用的板条箱,并将它们编译成单独的Wasm模块,这样我才能单独为它们服务吗?或者有没有什么方法可以把一个生锈的板条箱编译成多个Wasm模块?

我目前的项目结构如下:

.
├── Cargo.toml // workspace manifest
├── client
│   ├── Cargo.toml
│   ├── favicon.ico
│   ├── index.html
│   ├── main.js
│   ├── Makefile
│   ├── pkg // built using wasm-pack and rollup
│   │  ├── bundle.js
│   │  ├── client_bg.d.ts
│   │  ├── client_bg.wasm
│   │  ├── client.d.ts
│   │  ├── client.js
│   │  ├── package.json
│   │  └── snippets
│   ├── src
│   ├── statics
│   ├── styles
│   └── vendor
├── server
│   ├── Cargo.toml
│   └── src
└── ... other crates

并且我在CCD_ 1内运行服务器,在那里它用CCD_。index.html链接到pkg/中的bundle.js,CCD_5建立client_bg.wasm模块。

现在我基本上想用另一个HTML页面和另一个Wasm模块来做这件事,最好是来自client机箱中的同一个Yew应用程序。

谢谢

目前不可能从一个机箱中生成两个wasm文件。解决方案是使用一个create-per-wasm文件,然后让另一个构建系统将输出放到正确的位置。

相关内容

  • 没有找到相关文章

最新更新