53 lines
1.7 KiB
JavaScript
53 lines
1.7 KiB
JavaScript
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) {}
|
|
});
|
|
}
|
|
});
|