Inspire - Capo Productions
根目录和源目录
本篇笔记用到的示例项目结构:
blog.newarea.site
├─ pages
│ ├─ api-examples.md
│ ├─ index.md
│ └─ markdown-examples.md
├─ public
│ └─ logo.svg
├─ .vitepress
│ ├─ theme
│ │ ├─ index.ts
│ │ └─ style.css
│ └─ config.mts
├─ components.d.ts
├─ eslint.config.mjs
├─ package.json
├─ pnpm-lock.yaml
└─ vite.config.ts当 .vitepress/config.mts 中不显式设置 srcDir 时:
- pages 目录用来存放 markdown 文档,如
pages/api-examples.md可以通过pages/api-examples来访问。 - Vite 配置文件
vite.config.ts,正常生效。 - 静态资源存放目录
public,正常生效。
当 .vitepress/config.mts 中显式设置 srcDir: './pages',虽然页面访问路径简化了,如 pages/api-examples.md 访问路径变成了 /api-examples,但:
- Vite 配置文件
vite.config.ts,不生效。 - 静态资源存放目录
public,不生效。
此时将文件 vite.config.ts、目录 public移动到目录 pages 中,Vite 配置文件 vite.config.ts、静态资源存放目录 public 均又生效了。
由此可见,srcDir 不仅设置了 markdown 文件所在的文件夹,也设置了 Vite 配置文件 vite.config.ts、静态资源存放目录 public 所在文件夹。
根目录
项目根目录是 VitePress 将尝试寻找 .vitepress 特殊目录的地方。由执行命令 vitepress 时的参数决定。
假如
package.json中脚本是这样:json"scripts": { "dev": "vitepress dev", //... },当在终端中执行
pnpm dev时,VitePress 将使用当前工作目录(即blog.newarea.site)作为项目根目录。假如
package.json中脚本是这样:json"scripts": { "dev": "vitepress dev docs", //... },当在终端中执行
pnpm dev时,VitePress 将使用blog.newarea.site/docs(在本示例项目中,该目录不存在)作为项目根目录。
源目录
源目录是 Markdown 源文件、Vite 配置文件 vite.config.ts、静态资源存放目录 public所在的位置。
默认情况下,它与项目根目录相同。但是,可以通过 srcDir 配置选项对其进行配置。
注意配置 srcDir 时,其值相对的是上面的项目跟目录。