Самый простой способ - извлечь эти данные из preload
, используя this.fetch
, поскольку он будет автоматически обрабатывать относительные URL-адреса одинаково, независимо от того, работает ли он на сервере или клиенте:
<script context="module">
export async function preload(page, session) {
const r = await this.fetch(`customers/${getCustomerNumber(session)}/detections`);
const data = await r.json();
return {
foo: data.foo
};
}
</script>
Если это по какой-либо причине это невозможно, вам может потребоваться настроить переменную среды, например BASE_URL
:
async function getDataFromGateway(customerNumber) {
if (typeof fetch !== 'function') {
global.fetch = require('node-fetch')
}
const data = await fetch(`${process.env.BASE_URL}/customers/${customerNumber}/detections`)
.then(res => res.json())
.catch(error => {
console.log(error)
return error
}
)
return data
}