加入静态文件编译
This commit is contained in:
parent
0ae93f9bae
commit
40a181dbcb
@ -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: {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user