Пользовательская страница входа в Docusaurus

У меня есть задача на работе, это реализовать страницу входа в Docusaurus.
Я пытаюсь настроить index.js добавив некоторые HelloWorld, В том числе login.js который имеет фактическую страницу индекса Docusaurus

const Index = require('./login.js');

const React = require('react');
class Button extends React.Component {
render() {
   return ("helloworld");}
} 
module.exports = Button;

Но ошибка брошена так:
Error: Cannot find module './login.js'

Можно ли позвонить в класс из другого js страница в Docusaurus?

4 ответа

Сопровождающий Docusaurus здесь! Да, это должно быть возможно, поскольку текущая система модулей - CommonJS. Вы должны поместить этот компонент в тот же каталог, что и index.js, Если возможно, свяжите меня с хранилищем, и я могу помочь вам взглянуть.

Кроме того, не имеет смысла создавать форму входа для Docusaurus, так как Docusaurus создает статический сайт, который теряет состояние при навигации по страницам, если вы не сохраните их в файлах cookie или localStorage, Это было бы довольно проблематично. Может быть, вы могли бы объяснить, что вы пытаетесь построить здесь, и я могу порекомендовать вам лучшие альтернативы.

Я нашел способ решить эту проблему, хотя официальной документации по этому вопросу нет. Я использовал Docusaurus Swizzle, чтобы вмешаться в корневой компонент, чтобы я мог использовать аутентификацию Firebase (я думаю, что вы можете использовать Auth0 или любую пользовательскую логику взамен).

Я написал об этом подробный блог, надеюсь, он поможет другим, вы можете увидеть его здесь: https://medium.com/@thomasdevshare/docusaurus-authentication-with-firebase-c824da24bc51 .

В статье также есть полный исходный код примера, вы можете его клонировать.

Прежде всего. Как выглядит "login.js"? Это экспортированный модуль с четко определенным (по умолчанию) пространством имен?

Во-вторых, вы не должны добавлять расширение файла для импорта. Это "require('./login')" not "require('./login.js')".

Например, можем ли мы иметь doc-сайт docusaurus, где некоторые документы доступны для всех (когда вы запускаете и видите), а другие требуют аутентификации, чтобы иметь возможность их видеть ...

Другие вопросы по тегам