WASM JS
Konwersja plików

Konwertuj WASM na JS

SZYBKA ODPOWIEDŹ
Czy możliwa jest konwersja WASM na JS?
Tak - WASM konwertuje się na JS.

Nie przepisujesz pliku binarnego na JavaScript; generujesz plik .js (tzw. glue code), który pobiera, instancjonuje i udostępnia eksporty modułu. Emscripten i wasm-pack generują ten plik automatycznie, lub możesz napisać kilka linii wokół WebAssembly.instantiateStreaming. Plik .wasm pozostaje bez zmian, a .js staje się jego punktem wejścia.

Również na JS: MJS · AXD · FBA

Na tej stronie

Testowane na macOS, Windows i Linux
Ostatnia weryfikacja Sep 2026

Więcej darmowych konwerterów

HEIC, PNG, WEBP, MP3 i inne - każde narzędzie tutaj jest darmowe.

Otwórz przybornik

Dlaczego konwertować WASM na JS?

Plik binarny .wasm nie może działać na stronie samodzielnie - przeglądarki ładują go poprzez JavaScript. Ludzie potrzebują pliku .js, aby móc zaimportować moduł, przekazać importy i wywoływać jego wyeksportowane funkcje jak zwykłe funkcje. Toolchainy generują ten kod łączący, więc rzadko dotyka się surowego kodu ładującego.

Jak przekonwertować WASM na JS

Wyjście glue z Emscripten OPEN-SOURCE

Podczas kompilacji C/C++, uruchom emcc app.c -o app.js, a Emscripten wygeneruje zarówno app.wasm, jak i ładowarkę app.js, która go instancjonuje. Dodaj -s MODULARIZE=1 dla modułu importowalnego.

wasm-pack dla Rust OPEN-SOURCE

Dla Rust + wasm-bindgen, uruchom wasm-pack build --target web; wyprodukuje to plik .wasm oraz plik powiązań .js, który reeksportuje każdą funkcję. Zaimportuj go w swojej aplikacji za pomocą init().

O tych formatach

Jakość i na co uważać

  • Plik .js nie zawiera logiki modułu - jedynie ładuje i pośredniczy w komunikacji z .wasm, który musi być dostarczony wraz z nim.
  • Ręcznie pisane ładowarki muszą dostarczyć dokładnie taki obiekt importów, jakiego oczekuje moduł, inaczej instancjonowanie wyrzuci błąd LinkError.
  • Kod łączący z Emscripten/wasm-bindgen jest powiązany z konkretną kompilacją, która wytworzyła .wasm; mieszanie wersji psuje powiązania.

Najczęściej zadawane pytania

Czy mogę w pełni zamienić WASM z powrotem na czytelny JavaScript?
W praktyce nie. WASM to skompilowany plik binarny; otrzymujesz ładowarkę JS oraz opcjonalną dekompilację, a nie oryginalny kod źródłowy.
Czy po wygenerowaniu .js nadal potrzebuję pliku .wasm?
Tak. Plik .js pobiera i instancjonuje .wasm w czasie wykonywania; oba muszą być wdrożone razem.
Której flagi target powinien używać wasm-pack?
--target web dla natywnych modułów ES, --target bundler dla webpack/Vite, --target nodejs dla Node.
Dlaczego instantiate kończy się błędem LinkError?
Przekazany obiekt importów nie pasuje do funkcji lub pamięci, które moduł importuje.