跳到主要内容

5 分钟上手:创建第一个项目

这是一份从零到一的操作手册,跟着做,你就能完成第一个集成开发项目。

开始之前

前置条件
  1. 已经在 Lovrabet 工作台 创建了应用工程
  2. 通过连接数据库或需求描述,完成了应用的自动生成

第一步:安装 CLI 并登录

当前版本: npm version

# 全局安装 CLI(只需执行一次)
npm install -g @lovrabet/cli

# 登录你的 Lovrabet 账号
lovrabet auth

执行 lovrabet auth 后,浏览器会自动打开登录页面。登录成功后,CLI 会记住你的身份。

验证安装

运行 lovrabet --version 查看版本号,确认安装成功。


第二步:创建项目

lovrabet create

CLI 会引导你填写项目信息:

* 项目名: my-crm
* 应用 AppCode [可选]: app-c4c89304

✔ 复制项目文件
✔ 更新项目配置
✔ 安装 npm 依赖
✔ 拉取 API 配置

🎉 项目创建成功!

cd my-crm
lovrabet start

AppCode 在 Lovrabet 工作台的应用设置页面可以找到。


第三步:启动开发服务

cd my-crm
lovrabet start

浏览器会自动打开 http://localhost:5173,你可以看到项目的初始页面。


第四步:写一个页面

src/pages/ 目录下创建你的第一个页面:

// src/pages/dashboard.tsx

/**
* Title: 数据大屏
*/
import { useEffect, useState } from "react";
import { lovrabetClient } from "../api/client";

export default function Dashboard() {
const [data, setData] = useState([]);

useEffect(() => {
lovrabetClient.models.orders
.filter({
pageSize: 100,
})
.then((res) => {
setData(res.tableData);
});
}, []);

return (
<div>
<h1>数据大屏</h1>
<p>{data.length} 条订单</p>
{/* 你的自定义 UI */}
</div>
);
}
菜单名称

注意顶部的 Title: 数据大屏 注释——同步菜单时,CLI 会自动提取它作为菜单名称。


第五步:构建并部署

lovrabet build

构建产物在 dist/ 目录,包含 index.jsindex.css 两个文件。把它们部署到你的 CDN 或服务器,拿到 HTTPS 链接:

  • https://cdn.example.com/assets/index.js
  • https://cdn.example.com/assets/index.css

第六步:同步菜单到工作台

lovrabet menu sync

CLI 会自动扫描你本地的页面,和工作台现有菜单做对比,提示你选择要同步的页面:

  菜单名称      本地  线上
数据大屏 ✓ ✗ (需要创建)

* 请选择要同步的菜单:
[✓] 数据大屏

* JS 链接: https://cdn.example.com/assets/index.js
* CSS 链接: https://cdn.example.com/assets/index.css

√ 菜单创建完成

现在打开 Lovrabet 工作台,菜单里就能看到"数据大屏"了。


后续迭代

修改代码、重新构建后,资源文件地址可能会变化。用以下命令批量更新已同步菜单的资源链接:

lovrabet menu update

整体流程回顾

1. 安装 CLI          npm install -g @lovrabet/cli
2. 登录 lovrabet auth
3. 创建项目 lovrabet create
4. 开发调试 lovrabet start
5. 构建 lovrabet build
6. 部署到 CDN (上传 dist/ 文件)
7. 同步菜单 lovrabet menu sync
8. 后续更新 lovrabet menu update

常见问题

Q: 如何获取 AppCode?

在 Lovrabet 工作台 → 应用设置 → 基本信息中可以找到。

Q: 没有 CDN 怎么办?

可以用阿里云/腾讯云 OSS、自己的服务器(需配置 HTTPS),或者 Vercel、Netlify 等免费托管服务。

Q: 页面数据怎么获取?

使用项目中自动生成的 SDK 客户端:

import { lovrabetClient } from "../api/client";

// 查询数据
const result = await lovrabetClient.models.customers.filter({
where: { status: { $eq: "active" } },
pageSize: 20,
});

// 创建数据
await lovrabetClient.models.customers.create({
name: "张三",
phone: "13800138000",
});

下一步