作为学习 Hono 和 Drizzle 的一部分,我正在使用 Bun 创建一个简单的 Web 服务器。
// src/index.ts
import { Hono } from "hono";
import UserRepo from "./repo/UserRepo";
const app = new Hono();
app.get("/ping", (c) => {
return c.text("pong");
});
app.post("/user", async (c) => {
const { name, email } = await c.req.json();
const newUser = await UserRepo.create({ name, email });
return c.json(newUser, 201);
});
app.onError((err, c) => {
console.log(err);
return c.json(err, 500);
});
export default {
...app,
port: process.env.PORT || 3000,
};
我有这个数据库,正在通过
UserRepo
使用它。为了简单起见,我仅显示相关的数据库代码
// src/db/index.ts
import { drizzle } from "drizzle-orm/postgres-js";
import postgres from "postgres";
const queryClient = postgres(process.env.DB_URL as string);
const db = drizzle(queryClient);
export { db };
它按预期工作。但服务器不等待数据库连接。在 Express 中,我们可以做类似
mongoose.connect(...).then(() => app.listen(...))
的事情,我正在尝试用这个应用程序做类似的事情。搜索了文档但找不到任何内容。任何帮助将不胜感激。
您可以通过Bun.serve
实现您想要做的事情dbConnect()
.then(() => {
Bun.serve(app);
console.log('Server Running');
})
.catch((error) => {
console.error(error);
});