diff --git a/vite.config.ts b/vite.config.ts index 266526cd..7baf65d3 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,37 +1,45 @@ import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' -import { resolve } from "path" +import { resolve } from 'path' import { OUTPUT_DIR } from './build/constant' +import viteCompression from 'vite-plugin-compression' function pathResolve(dir: string) { - return resolve(process.cwd(), '.', dir); + return resolve(process.cwd(), '.', dir) } export default defineConfig({ - base: "./", + base: './', resolve: { alias: [ { find: /\/#\//, - replacement: pathResolve('types') + '/', + replacement: pathResolve('types') + '/' }, { find: '@', - replacement: pathResolve('src') + '/', + replacement: pathResolve('src') + '/' } ], - dedupe: ['vue'], + dedupe: ['vue'] }, css: { preprocessorOptions: { scss: { javascriptEnabled: true, - additionalData: `@import "src/styles/common/style.scss";`, - }, - }, + additionalData: `@import "src/styles/common/style.scss";` + } + } }, plugins: [ - vue() + vue(), + viteCompression({ + verbose: true, + disable: false, + threshold: 10240, + algorithm: 'gzip', + ext: '.gz' + }) ], build: { target: 'es2015', @@ -39,9 +47,18 @@ export default defineConfig({ terserOptions: { compress: { keep_infinity: true, - }, + drop_console: true, + drop_debugger: true + } + }, + rollupOptions: { + output: { + chunkFileNames: 'static/js/[name]-[hash].js', + entryFileNames: 'static/js/[name]-[hash].js', + assetFileNames: 'static/[ext]/[name]-[hash].[ext]' + } }, brotliSize: false, - chunkSizeWarningLimit: 2000, - }, -}) \ No newline at end of file + chunkSizeWarningLimit: 2000 + } +})