【问题标题】:How do I use some wasm files for other javascript projects which are not dependent on wasm-pack?如何将一些 wasm 文件用于不依赖于 wasm-pack 的其他 javascript 项目?
【发布时间】:2021-03-04 18:44:04
【问题描述】:

我可以从任何 javascript 调用在 wasm 文件中声明的函数吗?

Wasm 文件由 wasm-pack 使用 Rust lang、wasm-pack、wasm-bindgen 和 webpack 构建。它们在原始环境中运行良好。

我想为其他不依赖 wasm-pack 的 javascript 项目使用一些 wasm 文件。比如一个用node.js开发的最简单的浏览器hello-world演示项目。

编辑:我已经阅读了有关如何从 javascript 调用 wasm 函数的一般概念。但我不能自己将其应用于我的情况。例如,文章只讨论了一个构建 wasm 文件。但就我而言,pkg 目录中存在许多文件,其中一些文件是 js 文件。可以忽略pkg目录下所有这样的js文件吗?

General concept

【问题讨论】:

  • 这个主题好像有详细的介绍here
  • @RobertHarvey,请帮助我。我无法在没有任何提示的情况下将一般技术应用于我的情况。
  • 如果您的情况很具体,您应该向我们展示一些说明您的问题的代码。来自Help Center“我们觉得最好的 Stack Overflow 问题中都有一些源代码。”
  • @RobertHarvey,如果它是最简单的问候演示功能,那就一样了。因为在你的链接中没有提到的 pkg 目录中生成了许多 js 文件。

标签: javascript node.js rust nodes wasm-bindgen


【解决方案1】:

对我来说出现了一个问题

但就我而言,pkg 目录中存在许多文件,其中 有些文件是 js 文件。我可以忽略 pkg 中的所有此类 js 文件吗 目录?

这些文件是jsrust-wasm 之间的粘合剂。您可以忽略它们,但需要用其他胶水替换它们。

对我来说最简单的例子是without-a-bundler

部署时需要 3 个文件:

pkg/without_a_bundler_bg.wasm, pkg/without_a_bundler.js, index.html

在运行时 rust 从这里的 js 调用: call rust-wasm add function

这个函数调用是在 wasm-bindgen 胶水内完成的,例如从开发控制台未知。没有尝试过,但对于这个小例子,生成的pkg/without_a_bundler.js 仍然只有 195 行,因此可以移植到其他项目中进行调查。

【讨论】:

    猜你喜欢
    • 2020-07-13
    • 1970-01-01
    • 2020-08-17
    • 2016-01-13
    • 1970-01-01
    • 2014-05-05
    • 2020-02-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多