You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
2.2 KiB
TypeScript

/*
* @Author: donghao donghao@supervision.ltd
* @Date: 2025-07-02 13:17:44
* @LastEditors: donghao donghao@supervision.ltd
* @LastEditTime: 2025-07-03 17:51:36
* @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'
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(),
AutoImport({
imports: ['vue'],
eslintrc: {
enabled: true
},
resolvers: [ElementPlusResolver()]
})
],
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]'
}
}
}
}
})