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

📦 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'];          }        },      },    ],  ],};