📦 plugin-client-redirects
用于生成客户端重定向的 Docusaurus 插件。
此插件会将额外的 HTML 页面写入您的静态站点,以使用 JavaScript 重定向用户到已有的 Docusaurus 页面。
note
此插件仅在生产模式的构建中创建重定向。
caution
如果可以,您最好使用服务端重定向。
在使用此插件前,您应当确定您的托管商是否确实不提供此功能。
#
安装- npm
- Yarn
npm install --save @docusaurus/plugin-client-redirects
yarn add @docusaurus/plugin-client-redirects
#
配置主要用法:您想将 /myDocusaurusPage.html
重定向至 /myDocusaurusPage
:
docusaurus.config.js
module.exports = { plugins: [ [ '@docusaurus/plugin-client-redirects', { fromExtensions: ['html'], }, ], ],};
其他用法:您想将 /myDocusaurusPage
重定向至 /myDocusaurusPage.html
。
docusaurus.config.js
module.exports = { plugins: [ [ '@docusaurus/plugin-client-redirects', { toExtensions: ['html'], }, ], ],};
要自定义重定向逻辑,请撰写您自己的 createRedirects
函数。
假设您想要更改已有页面的 URL,同时确保旧 URL 仍可使用:
docusaurus.config.js
module.exports = { plugins: [ [ '@docusaurus/plugin-client-redirects', { redirects: [ { to: '/docs/newDocPath', // string from: ['/docs/oldDocPathFrom2019', '/docs/legacyDocPathFrom2016'], // string | string[] }, ], }, ], ],};
您也可使用函数来重定向多个已有路径:
docusaurus.config.js
module.exports = { plugins: [ [ '@docusaurus/plugin-client-redirects', { createRedirects: function (existingPath) { if (existingPath === '/docs/newDocPath') { return ['/docs/oldDocPathFrom2019', '/docs/legacyDocPathFrom2016']; // string | string[] } }, }, ], ],};
最后,您也可以同时使用所有选项:
docusaurus.config.js
module.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']; } }, }, ], ],};