跳转至主内容
Version: 2.0.0-beta.0

📦 plugin-client-redirects

用于生成客户端重定向的 Docusaurus 插件。

此插件会将额外的 HTML 页面写入您的静态站点,以使用 JavaScript 重定向用户到已有的 Docusaurus 页面。

note

此插件仅在生产模式的构建中创建重定向。

caution

若可用,您最好使用服务端重定向。

在使用此插件前,您应当确定您的托管商是否确实不提供此功能。

安装#

npm install --save @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'];
}
},
},
],
],
};