我尝试将一个结构体从Rust导出到WebAssembly,但是遇到了以下错误:
Uncaught (in promise) TypeError: wasm.Test不是一个构造函数
Rust:
我正在尝试将一个Rust中的结构体导出到WebAssembly,但是我遇到了如下错误:use wasm_bindgen::prelude::*;
#[wasm_bindgen]
extern "C" {
#[wasm_bindgen(js_namespace = console)]
fn log(s: &str);
}
#[wasm_bindgen]
pub struct Test {
pub x: i32,
}
#[wasm_bindgen]
impl Test {
#[wasm_bindgen(constructor)]
pub fn new() -> Self {
Self {
x: 0,
}
}
}
JS:
import init from './wasm.js'
async function run() {
const wasm = await init().catch(console.error);
console.log(wasm);
let test = new wasm.Test();
console.log(test);
}
run();
如何正确地导出一个struct?
wasm.js
模块。为了确保情况,你能展示下你的./wasm.js
模块中有什么吗? - Kevin ReidTest
类时,它可以工作。在wasm
变量中,我只能访问一些函数。我不确定原因是什么。 - Matheus