问题标签 [docusaurus]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
450 浏览

docusaurus - 版本化 Docusaurus 网站为其他语言返回 404

当我想导航到版本化 Docusaurus 网站的翻译页面时,我收到以下错误消息:

无法获取 /docs/de/...

我遵循了文档站点上的所有建议。这就是我所拥有的。

Crowdin.yaml:

包.json

版本.json

语言.js

目录结构:

运行命令yarn crowdin-upload和后yarn crowdin-download,将translated_docs填充该文件夹。在de子文件夹中,有 docs 的文件夹,包括 version 的另一个子目录version-2019.6.0

当我运行yarn start并将语言切换到另一种语言时,顶部菜单被翻译。但是,当我导航到 时http://localhost:3000/docs/de/user-manual/user-intro,我得到一个空白页面,并显示错误消息“无法获取/...”。

当我从项目中删除versions.json 和versions.js 时,一切正常。此外,如果我保持版本控制并导航到“下一个”版本,它也可以正常工作。

所以问题一定在这个区域的某个地方。据我所知,没有办法调试或诊断确切的问题。这就是为什么我想听听还有谁遇到过这个问题?

0 投票
1 回答
771 浏览

docusaurus - Docusaurus:如何添加 SEO 元标记

我需要向<link rel="canonical" href="bla-bla" />Docusaurus 生成的页面添加 SEO 元标记(例如)。据我了解,我可以使用“@docusaurus/Head”组件(https://v2.docusaurus.io/docs/docusaurus-core),但我不确定在哪里使用它:我有一个为v1,项目结构如下:

我应该在哪里使用这个组件?

0 投票
1 回答
941 浏览

javascript - 如何减少 docusaurus 构建 (v2) 的内存使用量?

我正在使用 docusaurus v2.0.0-alpha.39 生成文档,并使用 bitbucket 管道来构建所有内容并将其推送到 AWS。

问题是我Container 'Build' exceeded memory limit.在执行yarn build命令时遇到了问题。

bitbucket-pipelines.yml中,我已经尽可能地增加了内存(构建为 7680mb,docker 为 512mb):

我还尝试通过--max-old-space-size=7168各种方式设置来限制节点内存使用:

但无论我把什么作为最大变量,我的节点进程都会上升并使用多达 14GB 的内存!如果我放一个“小”--max-old-space-size,我会得到:

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

我不得不承认我有相当大的文档(每个版本 6,3 MB 和 1.493 个项目),但我什至无法使用 docusaurus 对它们进行版本控制,每个版本都会增加 4/5GB 的内存使用量......

您对此有潜在的解决方案吗?

0 投票
1 回答
3275 浏览

javascript - 'import' 和 'export' 可能只出现在 'sourceType: "module"' (16:0)

背景

我正在使用 docusaurus ^1.14.0。我只使用 React。在我的中,我尝试通过使用基本语句pages从另一个文件导入组件来分离组件。import但是,当我尝试时yarn start,出现以下错误:

'import' and 'export' may appear only with 'sourceType: "module"' (16:0)

已经尝试过

我认为 babel 已经在 docusaurus 的官方 GitHub 存储库中设置了,所以我希望它可以在 es2015+ 语法中正常工作,而它没有。

文件

1.package.json

那么,我该如何解决这个问题?

0 投票
3 回答
2164 浏览

node.js - 如何解决在 Windows 上的 PM2 中启动应用程序的问题?

我正在尝试通过IIS10上的 PM2 在 Windows Server 2016 上使用 Node.js 版本 12.14.0 运行 Docusaurus。我正在使用 PM2,因此我可以在服务器重新启动后重新启动应用程序。我现在不得不承认,今天是我第一次尝试使用 Node.js,所以请多多包涵。

通常npm run start通过在 Docusaurus 目录中调用来运行。在测试 Node.js 以及“Hello World”应用程序是否会在服务器重新启动时启动时,我使用的ecosystem.config.js是 PM2 文档中建议的方法。这称为像这样的javascript文件。

这工作得很好,但我找不到任何关于如何npm start从这个文件运行的文档(尽管我确实尝试调用一个单独的批处理文件,但这也不起作用)。然后我在这里看到我可以调用一个记录更多选项的 JSON 文件。

JSON配置文件:

“HelloWorld”脚本启动,但文档应用程序未启动。

pm2 报告提供以下输出:

这让我在 GitHub 上遇到了这个问题。不过,在这些问题上似乎没有很多活动,而且也有过历史性的事件。

我认为我可能在 PM2 上做错了什么,或者它有问题,因为我也无法通过命令行使用 PM2 启动文档。

有没有人对我如何让它工作有任何想法或尝试做类似的事情?我会接受以下答案:

  • 在 Windows Server 上运行 Docusaurus 的另一种方法。
  • 使用 PM2 的替代方法。
  • 任何其他想法。

抱歉,如果我漫无目的。

编辑:

的输出pm2 start ecosystem.json --only docs

它引用的日志是空的。docs-error.log重复相同的错误,但自昨晚以来一直没有更新。它可能是由我在 JSON 文件中尝试不同的语法创建的,但无论如何都会发布它。

0 投票
1 回答
1776 浏览

docusaurus - docusaurus 有官方的 docker 容器吗?

https://docusaurus.io/docs/en/docker给人的印象是 Docusaurus 在它的主仓库中有一个 Dockerfile,但我在 github 仓库中没有看到它:

https://github.com/facebook/docusaurus/tree/master

我在 dockerhub 上看到了第三方 Docusaurus Docker 容器(例如https://hub.docker.com/r/sanjose/docusaurus/dockerfile),但不是官方的。

有任何想法吗?

0 投票
1 回答
244 浏览

javascript - 如何在 React.js 中解决此路由问题?

我将首先说明这是我在 Node 或 React.js 上工作的第四天,所以请多多包涵。

我正在为 Docusaurus 2 构建一个自定义的离线搜索功能。我已经构建了一个 JSON 索引并创建了一个函数来使用elasticlunr进行搜索。我想重定向到单独的结果页面,但是尽管尝试遵循多个示例,但我遇到了重定向问题。这是我index.js的 SearchBar。

因为我们在将结果重定向到结果页面时遇到了问题,所以我想看看是否可以直接转到主页。我看到消息“回家!” 当用户在搜索栏上按回车键时,在浏览器控制台中,但没有发生重定向。如果我RedirectrenderRedirect().

我尝试在return(). 周围添加一个Redirect,但似乎没有任何区别。

如果您想重现该问题

将 的内容替换src/theme/SearchBar/index.js为上述问题的代码。

要生成 JSON 索引:

生成-index.js

从默认文档构建 JSON 索引后,可以尝试搜索。我没有进行任何其他更改。

我可能做了一些愚蠢的事情,希望它很容易修复,所以请宽容。我真的试过了。;)

0 投票
1 回答
101 浏览

markdown - 使“电子邮件地址”不会变成超链接

SSH 中的一些算法表示为aes128-gcm@openssh.com. 这样做的问题是,如果您在 Markdown 文件中提及这一点,Docusaurus 1 会将其转换为 mailto: 超链接。我不介意为合法的电子邮件做这件事,但这不是合法的电子邮件。我的意思是,我想它可能是,但在这种情况下,它不应该是电子邮件地址。

我可以做我在这里做的事情并将它变成一个代码块,但我不想把每个算法名称都变成一个代码块。例如。aes128-ctr不需要是代码块来防止它成为超链接。当然,在这种情况下,将其设置为代码块是有意义的,但恕我直言,在我的上下文中它没有意义(在表中使用它们,列出各种不同 SSH 客户端支持的算法)。

谢谢!

0 投票
1 回答
169 浏览

algolia - 防火墙后的 Algolia 搜索

我看过很多关于离线搜索的对话,但我不清楚 - 我可以通过指定代理或打开端口从防火墙后面进行搜索吗?这是我可以简单地在algoliaOptions字段中指定的内容,还是我需要按照此处所述创建自己的搜索栏:Docusaurus 2 中的自定义搜索栏

我们正在尝试在内部使用 Docusaurus,但我们在它的 SaaS 方面遇到了麻烦,因为我们所有的内容都是内部的,而且我们公司有严格的访问问题。

提前致谢!(如果已经被问到,请道歉)

0 投票
1 回答
2153 浏览

reactjs - 在 docusaurus 页面中导入 javascript 模块

在我的文档网站的一个 doc/*.md 页面上,我希望能够拥有一个 javascript 树视图。https://github.com/storybookjs/react-treebeard 似乎效果很好,但我并不完全清楚如何将这个 javascript 合并到一个特定页面中。

我尝试将示例 javascript 从 Quick Start 部分复制到特定的 *.md 文件中的<script></script>标签中,但在 JS 控制台中出现“SyntaxError: Cannot use import statement outside a module”错误。

然后我从 *.md 文件中取出导入并将它们放在 website/siteConfig.js 的顶部:

关于我应该将这些导入语句放在哪里的任何想法?