是否可以根据用户代理(设备类型)在 vercel 上使用 nextjs 提供不同版本的静态页面?
Is it possible to serve different versions of a static page with nextjs on vercel according to useragent (device type)?
nextjs 页面 /users/[userid]
在 Vercel 平台的构建时静态呈现。
是否有根据用户代理(设备类型)通过 vercel 或 nextjs 上的某些配置为该页面提供两个不同版本的服务? (同时保持静态)
移动用户请求 example.com/users/userid
获得与请求相同路径的桌面用户不同的静态页面。
目前无法使用。但是,我们正在努力进行更新,以使其成为可能。
敬请关注 Vercel 平台和 Next.js 的更新。
编辑:现在可以使用“has”属性 和“rewrites”:
// next.config.js
module.exports = {
async rewrites() {
return {
beforeFiles: [
{
source: '/some-page',
destination: '/somewhere-else',
has: [{
type: 'header',
key: 'user-header',
value: 'insert-regex-here'
}],
},
],
// ...
}
},
}
EDIT2:现在使用 Edge Middleware
更容易
nextjs 页面 /users/[userid]
在 Vercel 平台的构建时静态呈现。
是否有根据用户代理(设备类型)通过 vercel 或 nextjs 上的某些配置为该页面提供两个不同版本的服务? (同时保持静态)
移动用户请求 example.com/users/userid
获得与请求相同路径的桌面用户不同的静态页面。
目前无法使用。但是,我们正在努力进行更新,以使其成为可能。
敬请关注 Vercel 平台和 Next.js 的更新。
编辑:现在可以使用“has”属性 和“rewrites”:
// next.config.js
module.exports = {
async rewrites() {
return {
beforeFiles: [
{
source: '/some-page',
destination: '/somewhere-else',
has: [{
type: 'header',
key: 'user-header',
value: 'insert-regex-here'
}],
},
],
// ...
}
},
}
EDIT2:现在使用 Edge Middleware
更容易