50 lines
1.2 KiB
Markdown
50 lines
1.2 KiB
Markdown
|
|
# Wasmeld
|
|||
|
|
|
|||
|
|
Wasmeld 是面向 WebAssembly Component 的服务运行与管理平台。内部服务编译为
|
|||
|
|
Component,在受限 Wasmtime Sandbox 中以常驻 Actor 运行,并通过稳定 WIT 契约
|
|||
|
|
暴露能力。
|
|||
|
|
|
|||
|
|
## 结构
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
crates/wasmeld-runtime Component Runtime 与 Sandbox
|
|||
|
|
crates/wasmeld-console 管理 API 与持久化
|
|||
|
|
crates/wasmeld-package wasmeld CLI、组件包与 WIT 依赖管理
|
|||
|
|
components/ 示例 Component
|
|||
|
|
console/ TanStack Start 管理面
|
|||
|
|
wit/ Wasmeld WIT package 源码
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 启动
|
|||
|
|
|
|||
|
|
后端:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cargo +stable run -p wasmeld-console
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
管理面:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cd console
|
|||
|
|
npm run dev
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
构建组件:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cargo run -p wasmeld-package --bin wasmeld -- \
|
|||
|
|
pack components/echo/Cargo.toml --locked
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
发布 WIT Package:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cargo run -p wasmeld-package --bin wasmeld -- \
|
|||
|
|
wit publish wit/service --registry http://127.0.0.1:8080
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
组件在 `wasmeld.toml` 中声明 Registry 和精确版本依赖,`wasmeld wit fetch` 会递归
|
|||
|
|
解析依赖、生成 `wit/deps`,并将完整解析结果记录在 `wit.lock`。本地开发可使用
|
|||
|
|
`[replace]` 临时覆盖 Registry 来源。
|