at main 660 B view raw
1import { defineConfig } from 'vite'; 2import { readFileSync, writeFileSync } from 'fs'; 3import { resolve } from 'path'; 4 5function swVersionPlugin() { 6 return { 7 name: 'sw-version', 8 writeBundle() { 9 const swPath = resolve('dist/sw.js'); 10 const content = readFileSync(swPath, 'utf-8'); 11 const versioned = content.replace('__BUILD_TIME__', Date.now().toString()); 12 writeFileSync(swPath, versioned); 13 } 14 }; 15} 16 17export default defineConfig({ 18 root: '.', 19 publicDir: 'public', 20 build: { 21 outDir: 'dist', 22 target: 'esnext' 23 }, 24 plugins: [swVersionPlugin()], 25 server: { 26 port: 3000 27 }, 28 preview: { 29 port: 3000 30 } 31});