Initial commit: RHINE LAB · ANALYSIS OS:三维界面与动效实验(本仓库不含个人归档索引数据)
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
import { cp, mkdir, readFile, writeFile } from 'node:fs/promises';
|
||||
import { resolve } from 'node:path';
|
||||
|
||||
// Static Build Output API packaging does not require downloading production
|
||||
// environment variables. Run npm run build first, then vercel deploy --prebuilt.
|
||||
const metadata = JSON.parse(await readFile('dist/pwa-build.json', 'utf8'));
|
||||
if (!metadata.files.some(path => path.includes('NovecentoSansWideNormal/font.woff2')))
|
||||
throw new Error('Install the locally licensed Novecento kit before packaging the official deployment.');
|
||||
await mkdir('.vercel/output', { recursive: true });
|
||||
await cp(resolve('dist'), resolve('.vercel/output/static'), { recursive: true });
|
||||
await writeFile('.vercel/output/config.json', JSON.stringify({
|
||||
version: 3,
|
||||
routes: [
|
||||
{ src: '^/fonts/misans-webfont-4.3.1/(.*)$', headers: { 'Cache-Control': 'public, max-age=31536000, immutable' }, continue: true },
|
||||
{ src: '^/assets/(archive-(?:cassette|assembly)\\.[a-f0-9]{16}\\.glb)$', headers: { 'Cache-Control': 'public, max-age=31536000, immutable' }, continue: true },
|
||||
{ src: '^/update(.*)$', headers: { 'Cache-Control': 'no-cache, no-store, must-revalidate' }, continue: true },
|
||||
{ src: '^/(sw\\.js|manifest\\.webmanifest|pwa-build\\.json)$', headers: { 'Cache-Control': 'no-cache, must-revalidate' }, continue: true },
|
||||
{ handle: 'filesystem' },
|
||||
],
|
||||
}, null, 2));
|
||||
console.log(`Packaged official static deployment ${metadata.version}.`);
|
||||
Reference in New Issue
Block a user