Страница Docusaurus не отображается - PullRequest
0 голосов
/ 19 июня 2019

Docusaurus рендеринг титульной страницы , но не рендеринг других страниц, меняется только URL.

Я только что создал веб-сайт Docusaurus по умолчанию, используя yarn run build и загрузил на веб-сервер Nginx на CentOs 7 , но за исключением Front Страница , другие страницы не отображаются. URL меняется, но контент не меняется.

Конфигурация Nginx

Путь к файлу: - /etc/nginx/conf.d/app1.conf

limit_req_zone $binary_remote_addr zone=one:10m rate=30r/m;

server {
    listen  80 reuseport;
    server_name  _;
    index index.html;

    # React App
    location / {
        root /usr/share/nginx/app1;
        try_files $uri /index.html =404;
        limit_req zone=one burst=5;
    }

    # Docusaurus App
    location /docs {
        root /usr/share/nginx/docs;
        try_files $uri $uri/index.html /index.html =404;
        limit_req zone=one burst=5;
    }

    location ~* .(jpg|jpeg|png|gif|ico|css|js|svg)$ {
        root /usr/share/nginx/;
        expires 365d;
    }
}

Docusaurus - Версия 1.11.1

Путь к файлу: - siteConfig.js

/**
 * Copyright (c) 2017-present, Facebook, Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

// See https://docusaurus.io/docs/site-config for all the possible
// site configuration options.

// List of projects/orgs using your project for the users page.
const users = [
  {
    caption: 'User1',
    // You will need to prepend the image path with your baseUrl
    // if it is not '/', like: '/test-site/img/image.jpg'.
    image: '/docs/img/undraw_open_source.svg',
    infoLink: 'https://www.facebook.com',
    pinned: true,
  },
];

const siteConfig = {
  title: 'Test Site', // Title for your website.
  tagline: 'A website for testing',
  url: 'https://your-docusaurus-test-site.com', // Your website URL
  baseUrl: '/docs/', // Base URL for your project */
  // For github.io type URLs, you would set the url and baseUrl like:
  //   url: 'https://facebook.github.io',
  //   baseUrl: '/test-site/',

  // Used for publishing and more
  projectName: 'test-site',
  organizationName: 'facebook',
  // For top-level user or org sites, the organization is still the same.
  // e.g., for the https://JoelMarcey.github.io site, it would be set like...
  //   organizationName: 'JoelMarcey'

  // For no header links in the top nav bar -> headerLinks: [],
  headerLinks: [
    {doc: 'doc1', label: 'Docs'},
    {doc: 'doc4', label: 'API'},
    {page: 'help', label: 'Help'},
    {blog: true, label: 'Blog'},
  ],

  // If you have users set above, you add it here:
  users,

  /* path to images for header/footer */
  headerIcon: 'img/favicon.ico',
  footerIcon: 'img/favicon.ico',
  favicon: 'img/favicon.ico',

  /* Colors for website */
  colors: {
    primaryColor: '#980c77',
    secondaryColor: '#6a0853',
  },

  /* Custom fonts for website */
  /*
  fonts: {
    myFont: [
      "Times New Roman",
      "Serif"
    ],
    myOtherFont: [
      "-apple-system",
      "system-ui"
    ]
  },
  */

  // This copyright info is used in /core/Footer.js and blog RSS/Atom feeds.
  copyright: `Copyright © ${new Date().getFullYear()} Your Name or Your Company Name`,

  highlight: {
    // Highlight.js theme to use for syntax highlighting in code blocks.
    theme: 'default',
  },

  // Add custom scripts here that would be placed in <script> tags.
  scripts: ['https://buttons.github.io/buttons.js'],

  // On page navigation for the current documentation page.
  onPageNav: 'separate',
  // No .html extensions for paths.
  cleanUrl: true,

  // Open Graph and Twitter card images.
  ogImage: 'img/undraw_online.svg',
  twitterImage: 'img/undraw_tweetstorm.svg',

  // Show documentation's last contributor's name.
  // enableUpdateBy: true,

  // Show documentation's last update time.
  // enableUpdateTime: true,

  // You may provide arbitrary config keys to be used as needed by your
  // template. For example, if you need your repo's URL...
  //   repoUrl: 'https://github.com/facebook/test-site',
};

module.exports = siteConfig;

1 Ответ

0 голосов
/ 22 июня 2019

Не думаю, что baseUrl для вашего сайта должно быть '/docs/'. Обычно это должно быть только '/'. Например, если вы размещаете его в домене без подпути, вам следует использовать '/'.

Если причина не в этом, то это должно быть связано с вашей конфигурацией Nginx. Docusaurus 1 не является одностраничным приложением (см. Сборку), поэтому вы должны обслуживать его как каталог файлов, а не перенаправлять все запросы в корень веб-приложения.

...