加入静态文件编译

This commit is contained in:
kura 2026-05-11 18:23:29 +08:00
parent 0ae93f9bae
commit 40a181dbcb

View File

@ -2,6 +2,66 @@ import { defineConfig } from "vite";
import basicSsl from "@vitejs/plugin-basic-ssl";
import vue from "@vitejs/plugin-vue";
import { VitePWA } from "vite-plugin-pwa";
import {
copyFileSync,
mkdirSync,
writeFileSync,
readdirSync,
cpSync,
} from "node:fs";
const siteUrl = "https://explorer.kuraa.cc";
function generateStaticFiles() {
return {
name: "generate-static-files",
closeBundle() {
const aboutDir = new URL("./dist/about/", import.meta.url);
mkdirSync(aboutDir, { recursive: true });
cpSync(
new URL("./static/", import.meta.url),
new URL("./dist/static/", import.meta.url),
{
recursive: true,
},
);
const files = readdirSync(new URL("./readme/", import.meta.url));
files.forEach((file) => {
copyFileSync(
new URL(`./readme/${file}`, import.meta.url),
new URL(`./dist/about/${file}`, import.meta.url),
);
});
const lastmod = new Date().toISOString().slice(0, 10);
const sitemap = `<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>${siteUrl}/</loc>
<lastmod>${lastmod}</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>${siteUrl}/about/</loc>
<lastmod>${lastmod}</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
`;
const robots = `User-agent: *
Allow: /
Sitemap: ${siteUrl}/sitemap.xml
`;
writeFileSync(new URL("./dist/sitemap.xml", import.meta.url), sitemap);
writeFileSync(new URL("./dist/robots.txt", import.meta.url), robots);
},
};
}
// https://vitejs.dev/config/
export default defineConfig({
base: "./",
@ -12,6 +72,7 @@ export default defineConfig({
plugins: [
vue(),
basicSsl(),
generateStaticFiles(),
VitePWA({
registerType: "autoUpdate",
manifest: {