我們今天需要先把 app.d.ts 做修改
declare global {
namespace App {
interface Platform {
env: {
DB: D1Database;
};
cf: CfProperties;
ctx: ExecutionContext;
}
}
}
export {};
然後呢 routes 底下增加
routes/api/about/+server.ts
我們自己前後端分離一下,api 資料夾裡面就是完全只放 +server.ts
然後我們在 +server.ts 隨便打點
import { json, error } from '@sveltejs/kit';
import type { RequestHandler } from './$types';
export async function GET({ request, platform }) {
let { results } = await platform.env.DB.prepare('SELECT * FROM admin_user').run();
return new Response(JSON.stringify(results));
}
然後就可以啟動惹
npm run preview
現在前後端一起開,就必須得用 preview,wrangler dev 也得跑起來,不然單純 npm run dev 背後只會執行 vite,是不會有資料庫的
缺點就是 preview 先編譯前端然後再跑 wokers 環境,以我 i52400 來說,大概要跑 30 秒,是個稍微討厭的時間ww
接著我們 curl 看看
curl -X GET http://127.0.0.1:8787/api/about
有回傳 [] 就對惹
接著我們試圖新增一些資料
npx wrangler d1 execute problytic-common --command='INSERT INTO admin_user(first_name,last_name) VALUES("王","小明");'
然後再 curl 一次就撈到資料囉!!
今天的情緒抒發:
收假症候群了好痛苦