TX032

⁦Yoga⁩ کی WebAssembly لوڈ ہونے میں ناکامی

کونسول

Text.js error TX032: Could not load Yoga's WebAssembly from … (…).

اس کی وجہ

initYoga() فنکشن Text.js ایپس (text dev، text build) میں، @textjs/client ریزولو کنڈیشن سیٹ کرنے والی بلڈز میں، اور جب آپ initYoga({ wasm }) پاس کرتے ہیں تو Yoga کی WebAssembly کو .wasm فائل سے لوڈ کرتا ہے۔ درخواست ناکام ہوئی، ایرر اسٹیٹس واپس آیا، یا واپس آنے والا مواد درست WebAssembly نہیں تھا۔ ایرر میں URL اور سرور کا بھیجا ہوا Content-Type درج ہوتا ہے۔ عام وجوہات میں ایسا سرور شامل ہے جو .wasm URL کے جواب میں HTML فال بیک صفحہ بھیجتا ہے، اور ایسی ⁦Content Security Policy⁩ جس کے script-src میں 'wasm-unsafe-eval' شامل نہیں ہوتا۔

اس کا حل

ایرر میں موجود URL سے فائل واپس بھیجیں، جس کا Content-Type: application/wasm ہو تاکہ وہ ڈاؤن لوڈ ہوتے وقت کمپائل ہو۔ نامعلوم پاتھز کے لیے index.html پیش کرنے والے ری رائٹ کو /assets/ چھوڑنا ہوگا۔ اپنی ⁦Content Security Policy⁩ میں WebAssembly کی اجازت دیں:

Content-Security-Policy: script-src 'self' 'wasm-unsafe-eval'; connect-src 'self'

اگر آپ خود کونسول ماؤنٹ کرتے ہیں اور فائل کسی دوسری جگہ سے پیش کرتے ہیں، تو createConsoleRoot() سے پہلے initYoga() کو اس کے URL، اس کے بائٹس یا کمپائل شدہ WebAssembly.Module کے ساتھ کال کریں۔ صرف پہلی کال Yoga کو لوڈ کرتی ہے:

import { initYoga } from "@textjs/core";await initYoga({ wasm: "/yoga.wasm" });

⁦WebAssembly⁩ دیکھیں۔