|
|
@@ -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,
|
|
|
- },
|
|
|
-})
|
|
|
+ chunkSizeWarningLimit: 2000
|
|
|
+ }
|
|
|
+})
|