Mar*_*ier 5 next.js serverless vercel
我刚刚使用Vercel 将我的nextjs应用程序发布到生产环境中。
除了一小部分之外,我喜欢整个体验:我希望能够将我的应用程序置于维护模式,但 Vercel 上似乎没有此选项。
我的问题是:有没有人以前实现过这个并且可以在这里分享一些细节?
我猜它可以在 2 个级别上完成:
MAINTENANCE_MODE=true在检测到环境变量(即)时,每个页面都重定向到维护屏幕。但是,这并不理想,因为在 Vercel 上添加环境变量需要进行部署才能将其考虑在内。sty*_*fle 10
“维护模式”可以通过环境变量和重定向属性来实现next.config.js(需要 Next.js 9.5.0 或更新版本)。
module.exports = {
redirects() {
return [
process.env.MAINTENANCE_MODE === "1"
? { source: "/((?!maintenance).*)", destination: "/maintenance.html", permanent: false }
: null,
].filter(Boolean);
}
};
Run Code Online (Sandbox Code Playgroud)
这会添加一个匹配传入请求的通配符路由,然后发出临时重定向/maintenance.html位置。
请注意,除非再次部署,否则您无法更改部署(配置或环境变量)。
如果您不使用 Next.js 或使用旧版本的 Next.js,则可以使用 .js 中的重定向属性实现“维护模式” vercel.json。
{
"redirects": [
{ "source": "/((?!maintenance).*)", "destination": "/maintenance.html", "permanent": false }
]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2412 次 |
| 最近记录: |