javascript - Next.js 在 next.config.js 中动态重定向
问题描述
我想在项目构建后更新重定向路由。所以,我们在 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();
},
}
有没有这样的解决方案。我只想从数据库更新重定向。如果数据库更新可以触发重定向而不停止项目
解决方案
您可以在构建时动态生成重定向路径,代码中的问题是您需要await
解决getUrls
承诺。
module.exports = {
poweredByHeader: false,
async redirects() {
return await getUrls();
}
}
您也可以简化getUrls
为根本不使用setTimeout
。
但是,如果您想在运行时更新重定向,则必须为此设置自己的自定义服务器。
推荐阅读
- android - 如何在 Kotlin DSL 上实现 Firebase?
- django - 如何将动态 url 传递给 django 中的模板
- javascript - Firebase 实时数据库不显示在 html 中
- c# - 无法在 Bootstrap 上使用 TempData
- java - 在 Android 上使用带有 Retrofit 的 post 方法在数据库中插入值
- powershell - 用于按顺序获取音频曲目列表时间戳的 Powershell 脚本
- excel - 如何使用宏/vba 获取所有工作表名称及其特定单元格值?
- hibernate - Hibernate 使用 join fetch 获取多个关联
- python - Django - 将 SQL 查询解析为 QuerySet
- sql - PostgreSQL 触发器更新所有表而不是行