Menjalankan di terminal
Render aplikasi App Router atau satu komponen di terminal dengan text run dan renderToTerminal.
text run me-render aplikasi App Router di terminal. Layout, komponen, keymap, dan route handler digunakan bersama dengan browser. Keluarannya berupa ANSI truecolor, bukan span %c.
text run # render ./app at /text run --path /logs # start on another routeTekan Ctrl+C untuk keluar. text run memerlukan Bun.
text run
text run mengimpor setiap file di app/, memasang App Router dengan riwayat dalam memori, dan menggambarnya dalam layar penuh. <Link>, useRouter(), notFound() dan redirect() berfungsi tanpa perubahan.
Panggilan fetch("/api/...") dengan origin yang sama menjalankan handler route.ts Anda dalam proses yang sama, persis seperti saat text dev melayaninya. URL lain mengakses jaringan.
renderToTerminal
Untuk satu komponen, atau CLI Anda sendiri:
import { renderToTerminal } from "@textjs/app/terminal";import { App } from "./app";const app = await renderToTerminal(<App />);await app.waitUntilExit();useApp().exit() melepas komponen dan memulihkan terminal.
| Opsi | Deskripsi |
|---|---|
stdin / stdout | Bawaan process.stdin / process.stdout |
cols / rows | Ukuran tetap (bawaan: mengikuti terminal) |
altScreen | Pulihkan riwayat gulir saat keluar (bawaan true) |
mouse | Pengguliran dengan roda mouse (bawaan true) |
exitOnCtrlC | Bawaan true |
fps | Batas frame (bawaan 60) |
patchConsole | Tahan console.* hingga keluar (bawaan true) |
theme / transparent | Seperti pada createConsoleRoot |
Keluaran
Setiap frame dibandingkan baris demi baris untuk mencari perbedaan. Hanya baris yang berubah yang ditulis, diapit penanda keluaran tersinkronisasi agar terminal yang mendukungnya tidak pernah menampilkan frame yang baru tergambar sebagian. Aplikasi yang menganggur tidak menulis apa pun.
Masukan
Stdin dalam mode raw diurai menjadi event yang sama dengan yang dihasilkan browser: tombol panah dan fungsi dengan pengubah, kombinasi Alt, bracketed paste, roda mouse SGR dan protokol keyboard kitty. TerminalInputParser dan parseTerminalInput diekspor jika Anda memerlukannya di tempat lain.
Perbedaan
| Fitur | DevTools | Terminal |
|---|---|---|
| Pengaturan laju frame | ~15 fps | Hingga fps |
| Ukuran kisi | Konsol tertambat | Jendela terminal |
<Image src> | Dimuat melalui canvas | Gunakan pixels |
console.log | Frame Anda | Ditahan hingga keluar |