在Docusaurus V2中从登陆页面重定向到文档页

8

啥?我从来没有在这个问题上投过票。 - Dharman
3个回答

5

请务必通过useBaseUrl添加baseUrl,以使其更为健壮。

有几种方法可以实现:

1. useEffect

import useBaseUrl from '@docusaurus/useBaseUrl';

function Home() {
  React.useEffect(() => {
    window.location.href = useBaseUrl('/docs/main');
  }, []);
  return null;
}

2. <Redirect/>

你也可以使用<Redirect>组件: https://v2.docusaurus.io/docs/docusaurus-core#redirect-

3. 在static文件夹中创建index.html页面

并添加以下代码以进行重定向:https://v1.docusaurus.io/docs/en/site-creation#docs-landing-page


链接到第三步的代码已经失效,我找不到正确的代码来编辑您的回复,非常抱歉。 - Ariel Mirra
我们最近移动了一些URL,所以子域名发生了变化。我已经更新了我的回答。 - Yangshun Tay
为什么要使用useEffect?没有它的话,对我来说是可以工作的,但是加上它之后,会抛出一些错误,说我需要在组件的上下文中使用hooks或类似的东西。 - undefined

4

配置Docs导航项的docId,使其指向你的主页面

文件:docusaurus.config.js

{
  type: 'doc',
  docId: 'main',
  position: 'left',
  label: 'Docs',
}

在你的主页面顶部添加以下slug,使/docs重定向到它。 文件:docs/main.mdx
--- 
slug: /
---

创建以下文件以将/docs/main重定向到/docs

文件: src/pages/docs/main.js

import React from 'react';
import {Redirect} from '@docusaurus/router';

export default function Home() {
  return <Redirect to="/docs" />;
};

0
您可以切换到仅文档模式。您可以在此处参考官方文档:

https://docusaurus.io/docs/docs-introduction#docs-only-mode

修改你的 docusaurus.config.js,将 routeBasePath:'/' 添加到 docs 对象中。

  module.exports = {
  // ...
  presets: [
    '@docusaurus/preset-classic',
    {
      docs: {
        routeBasePath: '/', // Serve the docs at the site's root
        /* other docs plugin options */
      },
      blog: false, // Optional: disable the blog plugin
      // ...
    },
  ],
};

你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community
虽然此链接或许可以回答问题,但最好在这里包含必要的答案部分并提供链接作为参考。仅有链接的答案可能会失效,如果链接页面发生更改时。-【来自评论】 - monim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接