静态资源管理
正确管理静态资源(如图片、字体、CSS 文件和其他资源)对于构建专业的文档网站至关重要。本章介绍 Rspress 如何处理静态资源以及组织它们的最佳实践。
理解静态资源
什么是静态资源?
静态资源是不需要处理并直接提供给用户的文件:
- 图片: PNG, JPG, SVG, GIF, WebP
- 字体: WOFF, WOFF2, TTF, OTF
- 样式表: CSS 文件
- 文档: PDF, ZIP 文件
- 媒体: 视频、音频文件
- 数据: JSON, XML 文件
资源加载策略
Rspress 提供多种处理资源的方式:
- Public 目录: 用于通过 URL 直接引用的资源
- 相对导入: 用于打包器处理的资源
- 外部 URL: 用于 CDN 托管的资源
Public 目录
基本用法
将资源放在 public 目录中以直接提供:
使用绝对路径引用 public 资源:
子目录组织
按类型组织资源:
Base Path 配置
如果您的网站部署到子目录:
资源会自动添加前缀:
图片处理
基本图片
响应式图片
使用 HTML picture 元素实现响应式图片:
图片优化
在添加图片之前进行优化:
SVG 图片
SVG 图片非常适合 logo 和图标:
深色模式图片
为浅色/深色主题提供不同的图片:
字体
自定义字体
向您的网站添加自定义字体:
创建 CSS 文件:
在配置中导入:
Google 字体
通过 CDN 使用 Google 字体:
CSS 和样式表
全局样式
添加全局 CSS:
在配置中导入:
组件样式
使用 CSS Modules 实现组件特定样式:
主题覆盖
覆盖默认主题样式:
可下载资源
文档文件
提供可下载的资源:
在文档中链接到它们:
视频和音频
嵌入视频
嵌入视频文件:
YouTube/Vimeo 嵌入
Favicon 和 Meta 图片
Favicon
添加 favicon 文件:
在 rspress.config.ts 中配置:
Open Graph 图片
添加社交媒体预览图片:
资源优化
图片格式
选择适当的格式:
- JPEG: 照片、有许多颜色的复杂图片
- PNG: 带透明度的图形、截图
- SVG: Logo、图标、简单图形
- WebP: 现代格式、最佳压缩(带后备)
压缩
压缩资源以加快加载速度:
懒加载
懒加载图片以获得更好的性能:
最佳实践
文件命名
使用一致、描述性的名称:
组织
按目的或类型组织:
文件大小
保持合理的文件大小:
- 图片: < 200KB (优化较大的图片)
- 文档: < 10MB
- 视频: 对大视频使用流媒体服务
故障排除
图片未加载
- 检查文件路径: 确保路径正确
-
验证文件存在: 检查
public目录 -
检查 base path: 确保 base path 配置与部署路径匹配
大文件大小
性能提示
优化加载
- 使用 WebP 格式并带后备
- 对折叠下方的图片实施懒加载
- 使用适当的尺寸(不要为缩略图加载 4K 图片)
- 在服务器上启用压缩
- 为静态资源使用 CDN
下一步
::: tip 最佳实践
- 在添加图片之前优化它们
- 使用适当的图片格式
- 为可访问性提供替代文本
- 逻辑地组织资源
- 考虑为大图片使用懒加载 :::
::: warning 文件大小
- 尽可能将图片保持在 200KB 以下
- 在上传前压缩 PDF
- 对大视频使用视频流服务
- 在慢速连接上测试加载时间 :::
::: info 工具
- TinyPNG - 图片压缩
- Squoosh - 图片优化
- SVGOMG - SVG 优化
- ImageOptim - Mac 图片优化器 :::