Next.js 在 next.config.js 中动态重定向
Next.js Redirects in next.config.js dynamicly
我想在构建项目后更新重定向路由。所以,我们在 BE Api.
上有一个重定向路由
我想得到它并动态地实现 next.config.js,这是我尝试做的。
const getUrls = () =>
new Promise(resolve => {
setTimeout(() => resolve(fetch("https://api.mocki.io/v1/a0b7f0b0").then(function(response) {
return response.json();
}).then(function(data) {
return data.data;
}) ), 3000);
});
// ExampleResponse = {
// "data":[
// {
// "source":"/test",
// "permanent":true,
// "destination":"/internet-application"
// }
// ]
// }
module.exports = {
poweredByHeader: false,
async redirects() {
return getUrls();
},
}
有什么解决办法吗?我只想从 database.If 数据库更新更新重定向 我们可以在不停止项目的情况下触发重定向吗
您可以在 构建时 动态生成重定向路径,您代码中的问题是您需要 await
来实现 getUrls
承诺解决。
module.exports = {
poweredByHeader: false,
async redirects() {
return await getUrls();
}
}
您还可以简化 getUrls
以完全不使用 setTimeout
。
但是,如果您想在 运行时 更新重定向,您必须为此设置自己的 custom server。
我想在构建项目后更新重定向路由。所以,我们在 BE Api.
上有一个重定向路由我想得到它并动态地实现 next.config.js,这是我尝试做的。
const getUrls = () =>
new Promise(resolve => {
setTimeout(() => resolve(fetch("https://api.mocki.io/v1/a0b7f0b0").then(function(response) {
return response.json();
}).then(function(data) {
return data.data;
}) ), 3000);
});
// ExampleResponse = {
// "data":[
// {
// "source":"/test",
// "permanent":true,
// "destination":"/internet-application"
// }
// ]
// }
module.exports = {
poweredByHeader: false,
async redirects() {
return getUrls();
},
}
有什么解决办法吗?我只想从 database.If 数据库更新更新重定向 我们可以在不停止项目的情况下触发重定向吗
您可以在 构建时 动态生成重定向路径,您代码中的问题是您需要 await
来实现 getUrls
承诺解决。
module.exports = {
poweredByHeader: false,
async redirects() {
return await getUrls();
}
}
您还可以简化 getUrls
以完全不使用 setTimeout
。
但是,如果您想在 运行时 更新重定向,您必须为此设置自己的 custom server。