import path from 'path' import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import vueJsx from '@vitejs/plugin-vue-jsx' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' import Icons from 'unplugin-icons/vite' // import viteCompression from 'vite-plugin-compression' import basicSsl from '@vitejs/plugin-basic-ssl' import Unocss from 'unocss/vite' import { presetUno, presetAttributify, presetIcons } from 'unocss' import deletePlugin from 'rollup-plugin-delete' // const IconsResolver = require('unplugin-icons/resolver') // https://vitejs.dev/config/ export default ({ mode, command }) => { // const env = loadEnv(mode, process.cwd()) return defineConfig({ base: '/foreground/', build: { outDir: 'dist-aw', sourcemap: false, minify: true, rollupOptions: { output: { chunkFileNames: 'js/[hash].js', entryFileNames: 'js/[hash].js', assetFileNames: (assetsFile) => { if (/\.(vue|scss)$/i.test(assetsFile.name)) { return 'del/[name]-[hash].[ext]' } else { return 'static/[hash].[ext]' } } } } }, plugins: [ vue(), vueJsx(), basicSsl(), Unocss({ presets: [presetUno(), presetAttributify(), presetIcons()] }), AutoImport({ imports: [ 'vue', 'vue-router', 'pinia', { '@/api': ['useRequest'] } ], eslintrc: { enabled: false, // Default `false` filepath: './.eslintrc-auto-import.json', // Default `./.eslintrc-auto-import.json` globalsPropValue: true // Default `true`, (true | false | 'readonly' | 'readable' | 'writable' | 'writeable') } }), Components({ dirs: ['src/components'], resolvers: [ // IconsResolver({ // prefix: 'i', // alias: { // system: 'system-uicons' // } // }) ] }), Icons({}), deletePlugin({ targets: ['dist-ly/del'], hook: 'writeBundle' }) ], resolve: { alias: { '@': path.resolve(__dirname, 'src'), assets: path.resolve(__dirname, 'src/assets'), util: path.resolve(__dirname, 'src/util'), views: path.resolve(__dirname, 'src/views'), layout: path.resolve(__dirname, 'src/layout') } }, // preprocessorOptions: { // scss: { // additionalData: `@import "@/assets/base.scss";` // } // }, define: { __DEV__: mode === 'development', __TEST__: mode === 'test' } }) }