TX032

טעינת ה-WebAssembly של Yoga נכשלה

מסוף

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

למה זה קורה

initYoga() טוען את ה-WebAssembly של Yoga מקובץ .wasm באפליקציות Text.js (text dev, text build), בבניות שמגדירות את תנאי הפתרון @textjs/client, וכאשר מעבירים initYoga({ wasm }). הבקשה נכשלה, החזירה סטטוס שגיאה, או שהתוכן שהוחזר לא היה WebAssembly תקין. השגיאה מציינת את כתובת ה-URL ואת ה-Content-Type שהשרת שלח. הסיבות הנפוצות הן שרת שמחזיר דף HTML חלופי בתגובה לכתובת ה-URL של קובץ ה-.wasm, ומדיניות אבטחת תוכן ללא 'wasm-unsafe-eval' בתוך script-src.

איך לתקן

יש להגדיר את כתובת ה-URL שמופיעה בשגיאה כך שתחזיר את הקובץ עם Content-Type: application/wasm, כדי שיתקמפל בזמן ההורדה. כלל שכתוב שמגיש את index.html עבור נתיבים לא מוכרים חייב לדלג על /assets/. יש לאפשר WebAssembly במדיניות אבטחת התוכן:

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

אם מחברים את המסוף עצמאית ומגישים את הקובץ ממיקום אחר, יש לקרוא ל-initYoga() עם כתובת ה-URL שלו, הבתים שלו או WebAssembly.Module מקומפל לפני createConsoleRoot(). רק הקריאה הראשונה טוענת את Yoga:

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

ראו WebAssembly.