Files
yourpart3/frontend/vite.config.js
Torsten Schulz (local) 5ddb099f5a Add 3D character model integration and update dependencies
- Introduced a new CharacterModel3D component for rendering 3D character models in OverviewView.
- Updated package.json and package-lock.json to include 'three' library for 3D graphics support.
- Enhanced Vite configuration to allow access to external files and ensure proper handling of GLB/GLTF assets.
- Improved layout and styling in OverviewView for better visualization of character and avatar.
2026-01-09 13:29:32 +01:00

63 lines
2.3 KiB
JavaScript

import { defineConfig, loadEnv } from 'vite';
import vue from '@vitejs/plugin-vue';
import { NodeGlobalsPolyfillPlugin } from '@esbuild-plugins/node-globals-polyfill';
import { NodeModulesPolyfillPlugin } from '@esbuild-plugins/node-modules-polyfill';
import path from 'path';
export default defineConfig(({ mode }) => {
// Lade Umgebungsvariablen explizit
const env = loadEnv(mode, process.cwd(), '');
// Kombiniere mit process.env, um auch Shell-Umgebungsvariablen zu berücksichtigen
const combinedEnv = { ...env, ...process.env };
return {
plugins: [vue()],
define: {
// Explizit Produktionsumgebung setzen
__DEV__: false,
'import.meta.env.DEV': false,
'import.meta.env.PROD': true,
'import.meta.env.MODE': '"production"',
// Stelle sicher, dass Umgebungsvariablen aus .env.production oder Shell-Umgebung geladen werden
...(combinedEnv.VITE_DAEMON_SOCKET && {
'import.meta.env.VITE_DAEMON_SOCKET': JSON.stringify(combinedEnv.VITE_DAEMON_SOCKET)
}),
...(combinedEnv.VITE_API_BASE_URL && {
'import.meta.env.VITE_API_BASE_URL': JSON.stringify(combinedEnv.VITE_API_BASE_URL)
}),
...(combinedEnv.VITE_CHAT_WS_URL && {
'import.meta.env.VITE_CHAT_WS_URL': JSON.stringify(combinedEnv.VITE_CHAT_WS_URL)
}),
...(combinedEnv.VITE_SOCKET_IO_URL && {
'import.meta.env.VITE_SOCKET_IO_URL': JSON.stringify(combinedEnv.VITE_SOCKET_IO_URL)
})
},
optimizeDeps: {
esbuildOptions: {
plugins: [
NodeGlobalsPolyfillPlugin({
buffer: true
}),
NodeModulesPolyfillPlugin()
]
}
},
resolve: {
alias: {
'@': path.resolve(__dirname, './src'),
stream: 'stream-browserify',
util: 'util',
assert: 'assert',
}
},
server: {
fs: {
// Erlaube Zugriff auf Dateien außerhalb des Projektverzeichnisses
strict: false
}
},
// Stelle sicher, dass GLB/GLTF-Dateien als Assets behandelt werden
assetsInclude: ['**/*.glb', '**/*.gltf']
};
});