TX032

Échec du chargement du WebAssembly de Yoga

Console

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

Cause

initYoga() charge le WebAssembly de Yoga depuis un fichier .wasm dans les applications Text.js (text dev, text build), dans les builds qui définissent la condition de résolution @textjs/client et lorsque vous passez initYoga({ wasm }). La requête a échoué, a renvoyé un statut d’erreur ou a reçu une réponse qui n’était pas du WebAssembly valide. L’erreur indique l’URL et le Content-Type envoyé par le serveur. Les causes habituelles sont un serveur qui répond à l’URL .wasm avec une page HTML de repli et une politique de sécurité du contenu sans 'wasm-unsafe-eval' dans script-src.

Solution

Faites en sorte que l’URL indiquée dans l’erreur renvoie le fichier avec Content-Type: application/wasm pour qu’il soit compilé pendant son téléchargement. Une règle de réécriture qui sert index.html pour les chemins inconnus doit exclure /assets/. Autorisez WebAssembly dans votre politique de sécurité du contenu :

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

Si vous montez la console vous-même et servez le fichier depuis un autre emplacement, appelez initYoga() avec son URL, ses octets ou un WebAssembly.Module compilé avant createConsoleRoot(). Seul le premier appel charge Yoga :

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

Consultez WebAssembly.