Cấu trúc dự án
Thư mục app/, text.config.ts và CLI text.
Thư mục trong app/ xác định route, còn các tệp đặc biệt xác định giao diện cho từng route.
#Thư mục
| Thư mục | Mục đích |
|---|
app | Route, layout và route handler |
lib | Mô-đun dùng chung, không gắn với route |
public | Tài nguyên tĩnh |
#Tệp định tuyến
| Tệp | Mục đích |
|---|
layout.tsx | Giao diện dùng chung cho một phân đoạn |
page.tsx | Màn hình có thể truy cập qua route |
loading.tsx | Giao diện dự phòng của Suspense |
error.tsx | Error boundary |
not-found.tsx | URL không khớp |
route.ts | Điểm cuối API |
app/├── layout.tsx → shared shell├── page.tsx → /├── sessions/│ ├── page.tsx → /sessions│ └── [id]/page.tsx → /sessions/:id└── api/health/route.ts → GET /api/health
#Route động
| Thư mục | URL | params |
|---|
[id] | /sessions/42 | { id: "42" } |
[...slug] | /docs/a/b | { slug: ["a", "b"] } |
#text.config.ts
import { defineConfig } from "@textjs/app";export default defineConfig({ title: "Acme", viewport: { width: 120, height: 36, theme: "geistDark" }, hints: [{ keys: "↑ ↓", label: "count" }],});
| Tùy chọn | Mặc định | Mô tả |
|---|
title | "" | Tiêu đề trang và FocusPad |
viewport | vừa với console, nếu không thì 120×36 | responsive (mặc định true), kích thước dự phòng width × height, theme |
hints | [] | Hai hoặc ba phím hiển thị trên FocusPad của trang |
action | press <first hint> | Thao tác khi đã có tiêu điểm, ví dụ "type a prompt" |
devIndicators | true | Dev Overlay trong console ([▼]) |
focusHint | true | “Nhấp vào trang để dùng bàn phím” phía trên dòng cuối của console khi trang chưa có tiêu điểm |
rewrites | [] | Rewrite và proxy |
ansi | { cols: 80, rows: 24 } | Kích thước frame cho curl và ứng dụng khách terminal, hoặc false để trả HTML cho chúng |
#CLI
| Lệnh | Mô tả |
|---|
text dev | Máy chủ phát triển với Fast Refresh |
text build | Bản dựng production |
text start | Phục vụ bản dựng và route handler |
text run | Render ứng dụng trong terminal (Terminal) |
text mcp | Phục vụ ứng dụng cho tác nhân lập trình (MCP) |
Sửa trang này trên GitHub