const { defineConfig } = require('@vue/cli-service'); const webpack = require('webpack'); module.exports = defineConfig({ transpileDependencies: [], devServer: { host: 'localhost', // Port kann über VUE_APP_FRONTEND_PORT oder FRONTEND_PORT in .env gesetzt werden port: parseInt(process.env.VUE_APP_FRONTEND_PORT || process.env.FRONTEND_PORT || '8080', 10), // Proxy für API-Requests zum Backend-Server // Backend sollte auf einem anderen Port laufen (z.B. 3010) proxy: { '/api': { target: process.env.VUE_APP_BACKEND_PROXY || 'http://torstens:3010', changeOrigin: true, secure: false, logLevel: 'debug', // Erhöhe Header-Limits für Proxy headers: { 'Connection': 'keep-alive' }, // Erhöhe Timeout für große Requests timeout: 60000 } } }, configureWebpack: { output: { clean: true }, cache: false, resolve: { fallback: { "path": require.resolve("path-browserify"), "os": require.resolve("os-browserify/browser"), "crypto": require.resolve("crypto-browserify"), "stream": require.resolve("stream-browserify"), "vm": require.resolve("vm-browserify"), } }, plugins: [ new webpack.DefinePlugin({ 'process.env.CUSTOM_VAR': JSON.stringify(process.env.CUSTOM_VAR) }) ], }, chainWebpack: config => { const rules = ['vue','js','ts','tsx','css','scss','sass','less','stylus']; rules.forEach(rule => { try { config.module.rule(rule).uses.delete('cache-loader'); } catch (e) {} try { config.module.rule(rule).uses.delete('thread-loader'); } catch (e) {} }); } });