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 예제를 찾았습니다.
