开发者问题收集

Blazor WebAssembly 可以直接调用另一个 WASM 模块吗?

2020-04-28
2075

Blazor WebAssembly 代码是否可以直接调用另一个 WASM 模块中的函数,还是需要 JavaScript 桥接器?

OpenCV 已为 WASM 构建,即 OpenCV.js。有没有办法从 OpenCV WASM 实现中导出函数定义并直接从 Blazor 代码中使用它们?使用 JS Interop 并让 JS 函数调用 OpenCV 函数是最好的替代方案吗?

1个回答

使用 .NET 6 应该可以更轻松地实现这一点,因为 Blazor 现在支持本机依赖项。您可以使用 emscripten 将 OpenCV C++ 或 OpenCV.js 编译为 wasm ,并将本机文件添加到您的 csproj ,如下所示。

<NativeFileReference Include="path-to-output-file" />

然后,您可以继续将 P/Invoke 到本机代码中。在此 YouTube 视频 中,Steve Sanderson 演示了一个非常相似的场景。您还可以查看有关 Blazor 中的本机依赖项的 文档 以获取更多信息。

SmartE
2021-11-17