function getUmiConfig() { const { SERVER_PORT, SERVER_BASE_URL } = process.env; const SERVER_BASE_PATH = process.env.SERVER_BASE_PATH || '/api/'; const PROXY_TARGET_URL = process.env.PROXY_TARGET_URL || `http://127.0.0.1:${SERVER_PORT}`; const LOCAL_STORAGE_BASE_URL = process.env.LOCAL_STORAGE_BASE_URL || '/uploads'; function getLocalStorageProxy() { if (LOCAL_STORAGE_BASE_URL.startsWith('http')) { return {}; } return { [LOCAL_STORAGE_BASE_URL]: { target: PROXY_TARGET_URL, changeOrigin: true, }, }; } return { define: { 'process.env.SERVER_BASE_URL': SERVER_BASE_URL || SERVER_BASE_PATH, }, // only proxy when using `umi dev` // if the assets are built, will not proxy proxy: { [SERVER_BASE_PATH]: { target: PROXY_TARGET_URL, changeOrigin: true, pathRewrite: { [`^${SERVER_BASE_PATH}`]: SERVER_BASE_PATH }, }, // for local storage ...getLocalStorageProxy(), }, }; } exports.getUmiConfig = getUmiConfig;