refactor: 将项目迁移到 Nuxt 4

该项目从 Vue 3 迁移到了 Nuxt 4,对代码结构和配置进行了相应调整。
- 修改了环境变量前缀,将 `VITE_` 替换为 `NUXT_PUBLIC_`,以便与 Nuxt 的环境变量配置兼容。
- 添加了新的环境变量 `WAKATIME_API_KEY` 和可选变量 `WAKATIME_API_URL` 用于配置 Wakatime API。
This commit is contained in:
2025-12-12 23:19:18 +08:00
parent b5b5509320
commit 99ffc73e76
38 changed files with 2789 additions and 1160 deletions

35
nuxt.config.ts Normal file
View File

@@ -0,0 +1,35 @@
import { defineNuxtConfig } from "nuxt/config";
import siteConfig from "./src/config/siteConfig";
export default defineNuxtConfig({
compatibilityDate: "2025-12-12",
srcDir: "src/",
css: ["~/styles.css"],
app: {
head: {
title: siteConfig.siteMeta.title,
link: [{ rel: "icon", href: siteConfig.siteMeta.icon }],
},
},
nitro: {
prerender: {
crawlLinks: true,
routes: ["/sitemap.xml", "/rss.xml"],
},
},
runtimeConfig: {
smtpHost: process.env.SMTP_HOST ?? "",
smtpPort: Number(process.env.SMTP_PORT ?? 465),
smtpUser: process.env.SMTP_USER ?? "",
smtpPass: process.env.SMTP_PASS ?? "",
senderEmail: process.env.SENDER_EMAIL ?? "",
adminEmail: process.env.ADMIN_EMAIL ?? "",
smtpSecure: process.env.SMTP_SECURE ? process.env.SMTP_SECURE === "true" : undefined,
wakatimeApiKey: process.env.WAKATIME_API_KEY ?? "",
wakatimeApiUrl: process.env.WAKATIME_API_URL ?? "https://wakatime.com/api/v1",
public: {
githubToken: process.env.NUXT_PUBLIC_GITHUB_TOKEN ?? "",
umamiApiKey: process.env.NUXT_PUBLIC_UMAMI_API_KEY ?? "",
},
},
});