在开发 Web 应用时,经常需要将用户重定向到其他页面。Hapi.js 提供了一个重定向插件,可以轻松地将用户重定向到指定的网址或路由。
安装
Hapi.js 的重定向插件可以通过 npm 进行安装:
npm install @hapi/hoek --save npm install @hapi/vise --save npm install hapi-redirect --save
使用
使用 Hapi.js 的重定向插件非常简单。首先,在服务器中注册此插件:
const Hapi = require('hapi'); const Redirect = require('hapi-redirect'); const server = new Hapi.Server(); server.register(Redirect);
接下来,你可以使用 server.redirect()
方法重定向到指定的网址或路由:
server.route({ method: 'GET', path: '/old_route', handler: function (request, h) { return h.redirect('https://www.example.com/new_route'); } });
上面的代码重定向用户从 /old_route
路由到 https://www.example.com/new_route
。
你还可以将重定向状态码更改为你想要的状态码(默认为 302):
server.route({ method: 'GET', path: '/old_route', handler: function (request, h) { return h.redirect('https://www.example.com/new_route').code(301); } });
上面的代码使用 301 状态码将用户重定向到新的路由。
示例
以下是一个完整的示例,演示如何使用 Hapi.js 的重定向插件将请求重定向到新网址:
const Hapi = require('hapi'); const Redirect = require('hapi-redirect'); const server = new Hapi.Server({ port: 3000 }); server.register(Redirect); server.route({ method: 'GET', path: '/old_route', handler: function (request, h) { return h.redirect('https://www.example.com/new_route'); } }); async function startServer() { try { await server.start(); console.log(`Server running at: ${server.info.uri}`); } catch (err) { console.error(err); } } startServer();
现在,当用户访问 /old_route
时,他们将被重定向到 https://www.example.com/new_route
。
总结
使用 Hapi.js 的重定向插件,你可以轻松地将用户重定向到指定的网址或路由,并控制状态码和其他参数。这使得你的 Web 应用程序可以更好地满足用户的需求,并更好地管理流量和 SEO。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6593ba57eb4cecbf2d85f1c3