0

我想构建我的文档以托管在多个离线环境中,托管在 docker 容器上。这需要静态站点生成器中的以下关键功能,

  • 使用所有资源(js / css),通过静态 html 文件在本地托管。
  • 配置urlbaseUrl在部署时(启动 docker 容器时)。

这两种配置可以帮助实现,构建一次部署在任何地方,并且在离线环境中。

两个问题,

  • 如何在部署时设置 url?
  • 如何将所有资源设置为本地托管?
4

2 回答 2

0

您可能认为应该在 中写入 url https://{{ baseUrl }}/a.js,并在编译选项中设置 baseUrl,实际上您不需要这样做。

只用相对路径,建议你有图片标签

  • <img src="somephoto.jpg" />表示文件与当前页面位于同一目录中
  • <img src="../somephoto.jpg" />表示文件位于当前页面的上层目录
  • <img src="/somephoto.jpg" />表示文件位于网站的根目录
于 2019-02-27T09:19:13.597 回答
0

您必须编写一个自定义脚本来覆盖其中siteConfig.js的内容。这是如何发生的高级流程:

  • siteConfig.js运行将 URL 替换到主机 1 ( replace1.js)的脚本
  • 运行部署脚本。
  • siteConfig.js运行将 URL 替换到主机 2 ( replace2.js)的脚本
  • 运行部署脚本。

package.json中,在该部分中添加一行scripts

"scripts": {
  ...
  "deploy-multiple": "./replace1.js && docusaurus-build && ./replace2.js && docusaurus-build",
  ...
}
于 2019-03-09T21:12:13.663 回答