问题标签 [wasm-pack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 由于不允许的 MIME 类型(“application/wasm”),加载模块被阻止
我提供一个静态文件服务器(通过 HTTP),其中包含由wasm-pack
. 使用 rustwasm 书中的示例,我将此代码添加到我的索引 HTML 页面中:
但是,在 Firefox 上,我收到标题中所示的错误消息:
来自“<a href="http://localhost:8000/pkg/fstree_web_bg.wasm" rel="noreferrer">http://localhost:8000/pkg/fstree_web_bg.wasm”的模块由于不允许的 MIME 类型而被阻止(“应用程序/wasm”)。
我怀疑 HTTPS 问题或 localhost 问题,所以我另外尝试127.0.0.1
了,甚至尝试了 https://***.ngrok.io 隧道,Firefox 仍然拒绝加载带有此错误消息的 wasm 模块。
它链接到关于 X-Content-Type-Options 的 MDN 文章,但我不确定它是如何相关的。我的服务器已经在发送Content-Type: application/wasm
.
wasm-pack 生成的 JavaScript 代码是这样开始的:
Firefox 是否希望我将 *.wasm 作为 发送application/javascript
?或者有什么问题?
rust - 如何通过 wasm-pack 将 Rust Wasm 应用程序与 libpq 链接?
我正在尝试使用 Wasm 数据库层创建 NodeJS 应用程序。我使用 Rust、Diesel 作为数据库驱动程序和wasm-pack
WebAssembly 编译器。
当我尝试使用 构建我的服务时wasm-pack
,尝试链接libpq
库失败。设置了PQ_LIB_DIR
环境变量,并且diesel-cli
没有任何问题,但是当我尝试编译我的服务时它失败并出现以下错误:
我该如何解决?
我的系统:
- 操作系统:Windows 10
- 锈:1.38.0
- wasm 包:0.8.1
- 柴油:1.4.0
- PostgreSQL : 12
javascript - 无效或意外的令牌“导入” - jest/babel/webpack
我有一个 rust 库,我正在尝试交叉编译并打包到一个 npm 脚本中。我一直在关注使用 wasm 包的过程。该过程构建了 es6 js,我编写了一些粗略的测试,然后决定尝试使用 jest 作为测试运行器,因为我在另一个项目中使用它几乎没有问题。
我在尝试运行测试时遇到了这个问题
我开玩笑说
开玩笑的调试配置输出
我的 jest.config.json
我的开发部门
.babelrc
我的测试很简单
我的 webpack.config.js
我正在尝试测试的输出 es6 的片段
我只能想象 jest 在运行时没有转换 js 代码,但我已经在相关配置中指定了代码的所有路径
python - mac上的emsdk问题
我正在尝试使用以下命令在 mac 上设置 emsdk:
我从 git 克隆了 repo。但是,在运行上述命令时出现以下错误:
我已尝试运行以下命令来解决此问题,但并没有解决问题。
任何其他解决该问题的建议都将受到欢迎。
webassembly - WASI 与 Web-Assembly
我遇到了 web-assembly wasm,甚至我尝试了一些使用 web-assembly 的代码,最近我读到了 wasi,我注意到 Ethereum Ewasm,区块链中的 Cosmos coswasm。它们之间的主要区别是什么?什么时候 WASI 是正确的解决方案,什么时候应该使用 WebAssembly?
rust - 使用 web_sys::HtmlButtonElement 失败
设法构建和运行https://github.com/rustwasm/wasm-bindgen/tree/master/examples中的一些示例
然后从用于 Dom 操作的小原型程序开始,一切正常,直到卡在这个问题上。
使用 https://docs.rs/web-sys/0.3.35/web_sys/struct.HtmlButtonElement.html
列表pub struct HtmlButtonElement
,类似于
https://docs.rs/web-sys/0.3.35/web_sys/struct.Element.html和 https://docs.rs/web-sys/0.3.35/web_sys/struct.HtmlElement.html
有:
给出编译错误:
而Element
和HtmlElement
被发现在web_sys
有什么区别/缺失HtmlButtonElement
?消息是否no HtmlButtonElement in the root
提供线索?
typescript - 将 wasm 与汇总捆绑时“缺少导出”
wasm-pack
使用选项(默认值)将一些 rust 代码编译到 webassembly 后--target browser
,我得到以下文件typescript/deps/ed25519xp
:
- ed25519xp_bg.wasm
- ed25519xp_bg.d.ts
- ed25519xp.d.ts
- ed25519xp.js
- 包.json
我的打字稿文件如下所示:
我的 package.json 是这样的:
我的汇总配置如下所示:
当我运行命令与汇总 ( node node_modules/.bin/rollup -c
) 捆绑时,我收到以下错误:
虽然,在将 .wasm 文件评估为 WAT 时,导出似乎存在:
(我已经在https://github.com/nmrshll/ed25519/tree/943fc841693401acc64260fc19d4dda08ae3503d上传了整个仓库)
如何解决“缺少出口”捆绑错误?
rust - 使用 wasm-pack 构建时在 Rust 和 JavaScript 之间传递字符串
我正在构建一个 Chrome 扩展程序,并选择使用一些 WebAssembly 功能。我使用 wasm-pack 来构建源代码,因为它提供了一个--target web
降低插入 Wasm 函数的复杂性的方法。在 Rust 和 JS 之间传递整数值可以无缝地工作,但我似乎无法将字符串传递给 Rust,反之亦然。
这是我正在使用的内容:
更新:有关我如何导入和实例化 wasm 的更多信息
在使用 wasm-pack 构建并将生成的 pkg 目录导入我的 JS 文件夹之后。我通过 manifest.json 文件将 pkg 目录的内容作为 web_resource 提供给项目。
这是我在 content_script.js 中加载脚本的方式
rust - 为什么调用从 JavaScript 编译为 Wasm 的异步 Rust 函数时字符串参数为空?
我正在使用用 wasm-pack 构建的 wasm_bindgen。我有一个向 JS 公开的 Rust 函数:
在 HTML / JavaScript 中,我调用 Rust 函数:
启动应用程序时,单击Send
按钮将调用我的 Rust 函数,但两个String
参数似乎都是空白/丢失。
这是上面函数的控制台跟踪:
我不确定我在这里做错了什么。我应该改变从 JavaScript 调用 Rust 函数的方式吗?