39 lines
1.0 KiB
JavaScript
39 lines
1.0 KiB
JavaScript
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;
|