/* * @Author: donghao donghao@supervision.ltd * @Date: 2025-07-02 13:17:44 * @LastEditors: donghao donghao@supervision.ltd * @LastEditTime: 2025-07-09 12:40:47 * @FilePath: \electron-project\Robot-Al\Robot-Al-Platform-Web\electron.vite.config.ts * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AEmpo */ import { resolve } from 'path' import { defineConfig, externalizeDepsPlugin, bytecodePlugin } from 'electron-vite' import vue from '@vitejs/plugin-vue' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' import { viteMockServe } from 'vite-plugin-mock' export default defineConfig({ main: { plugins: [externalizeDepsPlugin(), bytecodePlugin()] }, preload: { plugins: [externalizeDepsPlugin(), bytecodePlugin()] }, renderer: { resolve: { alias: { '@': resolve('src/renderer/src'), '@renderer': resolve('src/renderer/src'), '@views': resolve('src/renderer/src/views'), '@router': resolve('src/renderer/src/router'), '@assets': resolve('src/renderer/src/assets') } }, plugins: [ vue(), viteMockServe({ // 设置模拟.ts文件的存储位置 mockPath: 'src/renderer/src/mock', // 设置是否启用本地 mock 功能 enable: true, // 控制是否在控制台显示请求日志 logger: true }), AutoImport({ imports: ['vue'], eslintrc: { enabled: true }, resolvers: [ElementPlusResolver()] }) ], // 开发服务器配置 // server: { // port: 5173, // host: '0.0.0.0', // proxy: { // '/api': { // target: 'http://localhost:5173', // changeOrigin: true, // rewrite: (path) => path.replace(/^\/api/, '') // } // } // }, build: { // 核心:指定 Vue 打包输出目录(用于 Web 部署) outDir: 'dist', // 例如输出到项目根目录的 dist/web 文件夹 // 其他 Vite 打包配置(与传统 Vue 项目的 vite.config.js 一致) assetsDir: 'assets', // 静态资源(图片、字体等)输出目录 sourcemap: false, // 生产环境关闭 sourcemap rollupOptions: { // 配置入口文件(默认是 src/renderer/index.html) input: resolve('src/renderer/index.html'), // 输出文件名哈希(可选,用于缓存控制) output: { entryFileNames: 'js/[name].[hash].js', chunkFileNames: 'js/[name].[hash].js', assetFileNames: 'assets/[name].[hash].[ext]' } } } } })