在 Docusaurus 博客中将相对路径引用的图片设置居中并调整大小
Markdown 语法不允许图像自由调整大小,而用 Docusaurus 的 HTML 写法引用静态图片要从项目的 /static
目录下获取绝对路径,不支持配置相对路径。
解决办法如下:
<div class="text--center">
<img src={require('./assets/image.png').default} width="70%" />
</div>
<div>
是使用 Docusaurus 内置的 Infima 类来设置居中,不需要可以去掉。
Docusaurus 博客实际上有多种方式引用图像:
1. 用 Markdown 语法

很简洁,但未经拓展的 Markdown 的基础语法并不允许调整图片大小。
这种方式用相对路径能够被正确识别,原因是 Docusaurus 在解析过程中通过 Webpack Loader 把 
转换成 <img src={require("./assets/image.png")}/>
然后获取到了绝对路径。开发人员在这个 Github Discussion 中有解释说明。
正是因为它要经过转换处理,实际上这种用法也可以填静态资源的绝对路径,详见 Docusaurus 文档:在 Markdown 中引用静态资源。
2. 在 Markdown 中写 HTML
<img src="/img/image.png" width="70%" />
好处是我们可以调整图片大小了,坏处是这种方式填相对路径会找不到文件,Docusaurus 总是会视为引用静态资源的绝对路径。
解决的办法就是用开头的 <img src={require('./assets/image.png').default} />
,实际上就是手动借用了第1种方式的转换来获取绝对路径。
3. 用 import
导入图像源
参考 stackoverflow 上的这个帖子。