| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- import { resolve } from 'path'
- import { defineConfig, externalizeDepsPlugin, loadEnv } from 'electron-vite'
- import vue from '@vitejs/plugin-vue'
- import vueJsx from '@vitejs/plugin-vue-jsx'
- import dayjs from 'dayjs'
- import { createProxy } from './factory/vite/proxy'
- import { wrapperEnv } from './factory/utils'
- import { createVitePlugins } from './factory/vite/plugin'
- import pkg from './package.json'
- const { dependencies, devDependencies, name, version } = pkg
- // 获取构建号,如果本地开发没有传,则默认为 'dev'
- const BUILD_NUMBER = process.env.VITE_APP_BUILD_NUMBER || 'dev'
- const __APP_INFO__ = {
- pkg: { dependencies, devDependencies, name, version },
- buildVersion: BUILD_NUMBER,
- lastBuildTime: dayjs().format('YYYY-MM-DD HH:mm:ss')
- }
- function pathResolve(dir: string) {
- return resolve(process.cwd(), '.', dir)
- }
- export default defineConfig(({ command, mode }) => {
- const root = process.cwd()
- const env = loadEnv(mode, root)
- const viteEnv = wrapperEnv(env)
- const { VITE_DROP_CONSOLE, VITE_PORT, VITE_PROXY, VITE_PUBLIC_PATH } = viteEnv
- const isBuild = command === 'build'
- return {
- main: {
- plugins: [externalizeDepsPlugin()]
- },
- preload: {
- plugins: [externalizeDepsPlugin()]
- },
- renderer: {
- root: pathResolve('src/renderer'),
- base: VITE_PUBLIC_PATH,
- resolve: {
- alias: {
- '@': resolve('src/renderer/src'),
- '#': resolve('src/renderer/types')
- }
- },
- server: {
- host: true,
- port: VITE_PORT,
- proxy: createProxy(VITE_PROXY)
- },
- define: {
- // 在构建时,将环境变量注入到 window 对象上
- // 'window.__APP_ENV__': JSON.stringify(env),
- // setting vue-i18-next
- // Suppress warning
- __INTLIFY_PROD_DEVTOOLS__: false,
- __APP_INFO__: JSON.stringify(__APP_INFO__)
- },
- esbuild: {
- pure: VITE_DROP_CONSOLE ? ['console.log'] : []
- },
- plugins: [vue(), vueJsx(), ...createVitePlugins(viteEnv, isBuild)]
- }
- }
- })
|