| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- import path from 'path'
- import type { PluginOption } from 'vite'
- import { defineConfig, loadEnv } from 'vite'
- import vue from '@vitejs/plugin-vue'
- import { VitePWA } from 'vite-plugin-pwa'
- import viteImagemin from 'vite-plugin-imagemin'
- function setupPlugins(env: ImportMetaEnv): PluginOption[] {
- return [
- vue(),
- viteImagemin({
- gifsicle: {
- optimizationLevel: 7,
- interlaced: false
- },
- optipng: false,
- mozjpeg: {
- quality: 80
- },
- pngquant: {
- quality: [0.5, 0.9],
- speed: 1
- },
- svgo: {
- plugins: [
- {
- name: 'removeViewBox'
- },
- {
- name: 'removeEmptyAttrs',
- active: false
- }
- ]
- },
- webp: false
- }),
- env.VITE_GLOB_APP_PWA === 'true' &&
- VitePWA({
- injectRegister: 'auto',
- manifest: {
- name: 'chatGPT',
- short_name: 'chatGPT',
- icons: [
- { src: 'pwa-192x192.png', sizes: '192x192', type: 'image/png' },
- { src: 'pwa-512x512.png', sizes: '512x512', type: 'image/png' }
- ]
- }
- })
- ]
- }
- export default defineConfig(env => {
- const viteEnv = loadEnv(env.mode, process.cwd()) as unknown as ImportMetaEnv
- return {
- base: viteEnv.VITE_GLOB_APP_PUBLIC_PATH,
- resolve: {
- alias: {
- '@': path.resolve(process.cwd(), 'src')
- }
- },
- plugins: setupPlugins(viteEnv),
- server: {
- host: '0.0.0.0',
- port: 5004,
- open: false
- },
- css: {
- preprocessorOptions: {
- less: {
- javascriptEnabled: true,
- additionalData: '@import "@/styles/common.less";'
- }
- }
- },
- build: {
- reportCompressedSize: false,
- sourcemap: false,
- assetsInlineLimit: 0,
- commonjsOptions: {
- ignoreTryCatch: false
- }
- }
- }
- })
|