| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- import { defineConfig } from 'vite'
- import vue from '@vitejs/plugin-vue'
- import electron from 'vite-plugin-electron'
- import renderer from 'vite-plugin-electron-renderer'
- import AutoImport from 'unplugin-auto-import/vite'
- import Components from 'unplugin-vue-components/vite'
- import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
- import { resolve } from 'path'
- export default defineConfig({
- plugins: [
- vue(),
- AutoImport({
- imports: ['vue', 'vue-i18n', 'pinia'],
- resolvers: [ElementPlusResolver()],
- dts: 'src/auto-imports.d.ts'
- }),
- Components({
- resolvers: [ElementPlusResolver()],
- dts: 'src/components.d.ts'
- }),
- electron([
- {
- entry: 'electron/main.ts',
- onstart(options) {
- options.startup()
- },
- vite: {
- build: {
- outDir: 'dist-electron',
- rollupOptions: {
- external: ['electron', 'sudo-prompt', 'execa']
- }
- }
- }
- },
- {
- entry: 'electron/preload.ts',
- onstart(options) {
- options.reload()
- },
- vite: {
- build: {
- outDir: 'dist-electron'
- }
- }
- }
- ]),
- renderer()
- ],
- resolve: {
- alias: {
- '@': resolve(__dirname, 'src'),
- '@electron': resolve(__dirname, 'electron'),
- '@shared': resolve(__dirname, 'shared')
- }
- },
- css: {
- preprocessorOptions: {
- scss: {
- api: 'modern-compiler',
- additionalData: `@use "@/styles/variables.scss" as *;`
- }
- }
- },
- build: {
- outDir: 'dist',
- emptyOutDir: true
- }
- })
|