From f6ed8ead7b6ffd6556c7ba1664263b2f3cce10d1 Mon Sep 17 00:00:00 2001 From: Ayo Date: Sat, 7 Oct 2023 23:51:40 +0200 Subject: [PATCH] feat: use pages directory for custom server assets --- nitro.config.ts | 10 +++++----- package.json | 3 ++- routes/[...index].ts | 9 +++++---- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/nitro.config.ts b/nitro.config.ts index 7d3fbca..06e5262 100644 --- a/nitro.config.ts +++ b/nitro.config.ts @@ -1,9 +1,9 @@ //https://nitro.unjs.io/config export default defineNitroConfig({ - devStorage: { - db: { - driver: "fs", - base: "./data/db", + serverAssets: [ + { + baseName: "pages", + dir: "./pages", }, - }, + ], }); diff --git a/package.json b/package.json index ee12cd0..b6f6084 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,8 @@ "prepare": "nitropack prepare", "dev": "nitropack dev", "build": "nitropack build", - "preview": "node .output/server/index.mjs" + "preview": "node .output/server/index.mjs", + "build:preview": "npm run build && npm run preview" }, "dependencies": { "fs": "^0.0.1-security", diff --git a/routes/[...index].ts b/routes/[...index].ts index 59f006b..e6fd3ee 100644 --- a/routes/[...index].ts +++ b/routes/[...index].ts @@ -1,14 +1,15 @@ import * as fs from "fs"; -export default eventHandler((event) => { +export default eventHandler(async (event) => { const filename = event.path === "/" ? "/index.html" : `${event.path}.html`; const fallback = getPath(event.path + "/index.html"); const path = getPath(filename); let html = ""; + try { - html = fs.readFileSync(path, "utf8"); + html = await useStorage().getItem(path); } catch (error) { try { - html = fs.readFileSync(fallback, "utf8"); + html = await useStorage().getItem(fallback); } catch { html = `cannot find ${path} or ${fallback}`; } @@ -18,5 +19,5 @@ export default eventHandler((event) => { }); function getPath(filename: string) { - return `./pages${filename}`; + return `assets/pages${filename}`; }