plugin-client-redirects
优质
小牛编辑
149浏览
2023-12-01
用于生成 客户端链接跳转 的 Docusaurus 插件。
此插件会为你的静态站点添加额外的 HTML 页面,该页面将利用 JavaScript 将用户重定向到存在的 Docusaurus 页面上。
note
此插件仅用于生产环境的构建。
caution
最好是使用服务器端的重定向功能。
在使用此插件前,你应该查看一下服务提供商是否未提供重定向功能。
安装
- npm
- Yarn
npm install --save @docusaurus/plugin-client-redirects
yarn add @docusaurus/plugin-client-redirects
配置
主要使用场景:你希望将 /myDocusaurusPage.html
链接重定向到 /myDocusaurusPage
:
module.exports = { plugins: [ [ '@docusaurus/plugin-client-redirects', { fromExtensions: ['html'], }, ], ], };
次要使用场景:你希望将 /myDocusaurusPage
链接重定向到 /myDocusaurusPage.html
链接。
module.exports = { plugins: [ [ '@docusaurus/plugin-client-redirects', { toExtensions: ['html'], }, ], ], };
对于自定义的重定向逻辑,请提供自己的 createRedirects
函数。
假设你更改了现有页面的网址,并希望确保旧网址仍然有效:
docusaurus.config.jsmodule.exports = { plugins: [ [ '@docusaurus/plugin-client-redirects', { redirects: [ { to: '/docs/newDocPath', // string from: ['/docs/oldDocPathFrom2019', '/docs/legacyDocPathFrom2016'], // string | string[] }, ], }, ], ], };
可以使用函数为每个现有路径创建重定向:
docusaurus.config.jsmodule.exports = { plugins: [ [ '@docusaurus/plugin-client-redirects', { createRedirects: function (existingPath) { if (existingPath === '/docs/newDocPath') { return ['/docs/oldDocPathFrom2019', '/docs/legacyDocPathFrom2016']; // string | string[] } }, }, ], ], };
最后,可以同时使用所有配置项:
docusaurus.config.jsmodule.exports = { plugins: [ [ '@docusaurus/plugin-client-redirects', { fromExtensions: ['html', 'htm'], toExtensions: ['exe', 'zip'], redirects: [ { to: '/docs/newDocPath', from: '/docs/oldDocPath', }, ], createRedirects: function (existingPath) { if (existingPath === '/docs/newDocPath2') { return ['/docs/oldDocPath2']; } }, }, ], ], };