校对:soup
这个 fluixi 命令行工具:dev / 构建 / 启动 + 代码生成器.
* 概览
@fluixi/cli 提供 fluixi 二进制: 一个薄薄的调度器结束
@fluixi/start (框架运行时间)加发电机。 一个脚手架应用程序
已经包括了.
fluixi dev # SSR dev server (Vite middleware + HMR)
fluixi build # client + server bundles → dist/client, dist/server
fluixi start # production SSR server (after build)
fluixi generate <kind> <name> # scaffold into the current app (alias: g)
fluixi check [--strict] # env and auth rules over the project; exit 1 on an error
fluixi env # env.public set or not, .env.example drift, secrets that would ship
fluixi doctor # duplicate @fluixi/* copies, ts-plugin missing from tsconfig
fluixi info # versions, adapter, modules, pages, API routes
* 安装
pnpm add -D @fluixi/cli
qq 生成
fluixi g component Button # → src/components/Button.tsx
fluixi g route about # → src/routes/about.tsx (file route)
fluixi g route "blog/[id]" # → src/routes/blog/[id].tsx (dynamic segment)
fluixi g middleware # → src/middleware.ts
fluixi g env # → src/config/env.ts (pickEnv over env.public)
fluixi g module billing # → src/services/billing/billing.module.ts, listed in src/app.config.ts
fluixi g service Orders # → src/services/orders.ts (class, token, module)
fluixi g service Mailer --server # → src/services/mailer.server.ts, listed in src/app.config.server.ts
fluixi g api "users/[id]" # → src/api/users/[id].ts
fluixi g api admin/stats --role admin # → guarded route + src/services/verify.server.ts
fluixi g server-fn getUser # → src/server/getUser.ts ("use server")
fluixi g auth oauth2 --provider keycloak --tokens server
# → config/env.ts, services/auth.ts, login route, auth.server.ts,
# env.public and .env.example entries
fluixi g auth better-auth # → auth.config + auth.client + middleware + src/api/auth route
编写新文件, 除非已经存在同名文件, 在这种情况下
进程以出错而停止。 编辑仅限于 app.config.ts, (中文(简体) ), app.config.server.ts
(添加进口和输入), env.public 内 fluixi.config.ts并附加到
.env.example; 保存每个文件的原始布局, 当导入不是
plain 列表命令打印用于手工粘贴的行 。 多文件 OAuth2 生成
保持现有文件不变.
JSX 或 html "
扩展遵从项目:一个应用软件 tsconfig.json 配置 jsx 获得
.tsx,一个作者与 html 模板获得 .ts覆盖 --jsx 或者说
--html。 。 。 .
fluixi g component Button --html # → src/components/Button.ts
使用组件而不导入
在生成一个组件后, CLI 将打印出如何不导入标记解析 , 如果项目还没有规则:
✓ created src/components/Card.tsx
to use <Card /> without importing it, add to vite.config.ts:
resolve: [{ match: /^([A-Z]\w+)$/, module: '/src/components/$1.tsx' }]
一个图案覆盖了整个文件夹,所以你粘贴它一次,然后是每个组件
工作时 脚手架 npm create fluixi 已经拥有它.
CLI读取您的配置 来决定是否说这个, 并且从来没有写信给它。 一个配置 是普通的TypeScript,它可以传播共享对象或调用解析器函数,所以 编辑意味着重印你的档案 我宁愿打印你粘的行 冒险操纵它.
进口部件的工作,包括 load: 指令 :
import { Card } from './components/Card';
<Card load:visible="200px" /> // still splits into its own chunk
新项目
脚手架整个应用是 create-fluixi,不是CLI: :
npm create fluixi my-app # or: pnpm create fluixi my-app
Dev/building/启动逻辑+配置 @fluixi/start:参见其读取
b. 《公约》缔约方src/entry-server.ts, (中文(简体) ), src/routes/, (中文(简体) ), index.html, (中文(简体) ), fluixi.config.ts) (中文(简体) ).