웹사이트 검색

javascript - TypeScript: 이 식은 호출할 수 없습니다. 'ExportValue' 유형의 구성 요소 중 호출할 수 있는 것이 없습니다. WebAssembly 모듈


저는 Deno로 index.ts에서 이 코드를 실행할 때 이 문제가 발생했습니다.

const wasm = await Deno.readFile("./wasm_test/pkg/wasm_test_bg.wasm");
const wasmModule = new WebAssembly.Module(wasm);
const wasmInstance = new WebAssembly.Instance(wasmModule);
const wasmTest = wasmInstance.exports;
wasmTest.sum(1, 3); // Error

오류: 이 표현식은 호출할 수 없습니다. 'ExportValue' 유형의 구성 요소는 호출할 수 없습니다.

sum을 호출할 때 오류가 발생합니다. 결과로 4가 나와야 합니다. index.js로 실행하면 완벽하게 작동합니다. Rust 코드를 컴파일하는 데 wasm-pack을 사용했습니다.

답변 #1

문제는 add라는 이름을 알 수 없다는 것입니다. 코드의 4번째 줄을 아래와 같이 변경하세요:

const wasm = await Deno.readFile("./add.wasm");
const wasmModule = new WebAssembly.Module(wasm);
const wasmInstance = new WebAssembly.Instance(wasmModule);
const sum = wasmInstance.exports.sum as CallableFunction; // exports.add if you test with the below linked wasm.
console.log(sum(1, 3))

문서를 참조하세요.

제 테스트를 위해 여기에서 add 함수가 있는 wasm 예제를 찾았습니다.

관련기사