Skip to content

Commit

Permalink
better: 优化图片相对路径
Browse files Browse the repository at this point in the history
  • Loading branch information
Cunninger committed Jun 5, 2024
1 parent ce89644 commit 8460047
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 5 deletions.
7 changes: 2 additions & 5 deletions doc/.vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,14 @@ export default defineConfig({
collapsed: false, // 设置为 false 表示默认情况下是展开的
items: [
{ text: '前端布局设置', link: '/前端布局设置' },
{ text: 'Runtime API Examples', link: '/api-examples' },
{ text: 'introduce', link: '/introduce' },
{ text: 'backmanage', link: '/backmanage' }
]
},
{
text: 'Another Group',
text: '开发常见问题',
collapsed: false, // 设置为 false 表示默认情况下是展开的
items: [
{ text: 'Item 1', link: '/another-group/item1' },
{ text: 'Item 2', link: '/another-group/item2' }
{ text: 'vitepress中的public.md', link: '/vitepress中的public.md' },
]
},
],
Expand Down
File renamed without changes.
51 changes: 51 additions & 0 deletions doc/article/dev-question/vitepress中的public.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
在 VitePress 中,`public` 目录中的文件会被直接复制到构建输出的根目录。因此,在引用 `public` 目录中的文件时,不需要在路径中包含 `public` 这一部分。

### 详细解释

1. **`public` 目录的作用**
- `public` 目录中的文件会在构建时被直接复制到输出目录的根目录。
- 这些文件可以通过根路径直接访问。

2. **路径引用**
- 由于 `public` 目录中的文件在构建后会位于根目录,因此在引用这些文件时,只需要使用相对于根目录的路径。
- 例如,`public/img/focus.png` 在构建后会变成 `/img/focus.png`

### 示例

假设你的项目结构如下:
```
D:\
└─ A_Vue\
└─ githubvitepress\
├─ doc\
│ ├─ .vitepress\
│ │ ├─ config.mts
│ ├─ public\
│ │ └─ img\
│ │ └─ focus.png
│ ├─ index.md
├─ package.json
└─ ...
```

`index.md` 文件中引用 `public/img` 目录中的图片时,只需要使用绝对路径 `/img/focus.png`

```markdown
![focus](/img/focus.png)
```

### 配置 `base` 选项

确保在 `.vitepress/config.mts` 文件中正确配置 `base` 选项。如果你的站点部署在根路径下,`base` 应该设置为 `'/'`

```typescript
import { defineConfig } from 'vitepress';

export default defineConfig({
base: '/', // 如果部署在根路径下
});
```

## 总结:
**引入public中的内容,只需要在路径前加上`/`即可,不需要加上`public`这一部分。但是需要加上`public`中的文件夹名字,比如`/img`**

0 comments on commit 8460047

Please sign in to comment.