TX032
Không tải được WebAssembly của Yoga
Nguyên nhân
initYoga() tải WebAssembly của Yoga từ tệp .wasm trong ứng dụng Text.js (text dev, text build), trong các bản build có đặt điều kiện phân giải @textjs/client, và khi bạn truyền initYoga({ wasm }). Yêu cầu đã thất bại, trả về trạng thái lỗi, hoặc nội dung trả về không phải WebAssembly hợp lệ. Thông báo lỗi nêu URL và Content-Type mà máy chủ gửi. Nguyên nhân thường gặp là máy chủ trả về trang HTML dự phòng cho URL .wasm, và Content Security Policy thiếu 'wasm-unsafe-eval' trong script-src.
Cách khắc phục
Cấu hình để URL trong thông báo lỗi trả về tệp với Content-Type: application/wasm để trình duyệt biên dịch trong khi tải xuống. Quy tắc rewrite trả về index.html cho đường dẫn không xác định phải bỏ qua /assets/. Cho phép WebAssembly trong Content Security Policy:
Content-Security-Policy: script-src 'self' 'wasm-unsafe-eval'; connect-src 'self'Nếu bạn tự mount console và phục vụ tệp từ nơi khác, gọi initYoga() với URL của tệp, các byte của tệp hoặc một WebAssembly.Module đã biên dịch trước khi gọi createConsoleRoot(). Chỉ lần gọi đầu tiên tải Yoga:
import { initYoga } from "@textjs/core";await initYoga({ wasm: "/yoga.wasm" });Xem WebAssembly.