51 lines
1.0 KiB
JavaScript
51 lines
1.0 KiB
JavaScript
import { defineConfig } from 'vite'
|
|
import viteImagemin from 'vite-plugin-imagemin'
|
|
|
|
export default defineConfig({
|
|
root: 'src',
|
|
base: './',
|
|
build: {
|
|
outDir: '../dist',
|
|
emptyOutDir: true,
|
|
assetsDir: 'assets',
|
|
rollupOptions: {
|
|
output: {
|
|
format: 'iife',
|
|
},
|
|
},
|
|
},
|
|
server: {
|
|
port: 3000,
|
|
open: true,
|
|
},
|
|
css: {
|
|
preprocessorOptions: {
|
|
scss: {
|
|
api: 'modern-compiler',
|
|
},
|
|
},
|
|
},
|
|
plugins: [
|
|
{
|
|
name: 'remove-module-attrs',
|
|
transformIndexHtml(html) {
|
|
return html
|
|
.replace(/ type="module"/g, '')
|
|
.replace(/ crossorigin/g, '')
|
|
},
|
|
},
|
|
viteImagemin({
|
|
gifsicle: { optimizationLevel: 3 },
|
|
optipng: { optimizationLevel: 5 },
|
|
mozjpeg: { quality: 80 },
|
|
pngquant: { quality: [0.7, 0.9], speed: 4 },
|
|
svgo: {
|
|
plugins: [
|
|
{ name: 'removeViewBox', active: false },
|
|
{ name: 'removeEmptyAttrs', active: true },
|
|
],
|
|
},
|
|
}),
|
|
],
|
|
})
|