Prettier 与 VitePress 集成指南
Prettier 可以帮助你统一 VitePress 文档的代码格式,提升可读性和维护性。以下是具体的配置步骤、使用方法和注意事项:
一、安装依赖
在 VitePress 项目中安装 Prettier 及其插件:
bash
npm install prettier --save-dev二、配置 Prettier
在项目根目录创建 .prettierrc.json 文件(或其他格式的配置文件):
json
{
"printWidth": 80,
"tabWidth": 2,
"useTabs": false,
"singleQuote": true,
"semi": false,
"trailingComma": "es5",
"bracketSpacing": true,
"arrowParens": "avoid",
"proseWrap": "always",
"htmlWhitespaceSensitivity": "css"
}创建 .prettierignore 文件忽略不需要格式化的文件:
text
node_modules/
dist/
.vitepress/三、集成到 VitePress 工作流
1. 命令行脚本
在 package.json 中添加格式化脚本:
json
{
"scripts": {
"docs:dev": "vitepress dev docs",
"docs:build": "vitepress build docs",
"docs:serve": "vitepress serve docs",
"format": "prettier --write \"docs/**/*.{md,js,ts,json,vue}\"",
"format:check": "prettier --check \"docs/**/*.{md,js,ts,json,vue}\""
}
}2. 保存时自动格式化(VSCode)
安装 Prettier 插件并配置 .vscode/settings.json:
json
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[markdown]": {
"editor.formatOnSave": true
},
"[vue]": {
"editor.formatOnSave": true
}
}四、Markdown 特殊配置
VitePress 主要使用 Markdown 文件,可通过 Prettier 插件优化 Markdown 格式:
bash
npm install prettier-plugin-mdc --save-dev在 .prettierrc.js 中配置:
js
module.exports = {
plugins: ['prettier-plugin-mdc'],
// 其他配置...
}五、与 ESLint 配合(可选)
若项目中同时使用 ESLint,需避免规则冲突:
bash
npm install eslint-config-prettier --save-dev在 .eslintrc.js 中添加:
js
module.exports = {
extends: ['eslint:recommended', 'prettier'],
// 其他配置...
}六、使用方法
1、手动格式化:
bash
npm run format # 格式化所有文档文件
npm run format:check # 检查格式是否符合规范(用于 CI/CD)2、自动格式化:
- 保存文件时自动格式化(需编辑器配置)
- 提交代码前自动格式化(通过 Git Hooks)
七、注意事项
1、VitePress 配置文件
- VitePress 配置文件(如 docs/.vitepress/config.js)会被 Prettier 格式化,确保其符合规范。
2、Markdown 内容
- Prettier 可能会改变 Markdown 中的代码块格式,需注意保持示例代码的正确性。
- 使用 注释忽略特定区域:
md
<!-- prettier-ignore -->
```html
<div class="custom-format">
保持原有格式
</div>3、Vue 组件
- VitePress 支持 Vue 组件,Prettier 会格式化 .vue 文件,确保其符合 Vue 语法。
4、插件兼容性
- 确保使用的 Prettier 插件与 VitePress 兼容(如 prettier-plugin-vue)。
八、推荐配置
以下是适合 VitePress 项目的 Prettier 配置示例:
json
{
"printWidth": 80,
"tabWidth": 2,
"useTabs": false,
"singleQuote": true,
"semi": false,
"trailingComma": "es5",
"bracketSpacing": true,
"arrowParens": "avoid",
"proseWrap": "always",
"htmlWhitespaceSensitivity": "css",
"vueIndentScriptAndStyle": true,
"overrides": [
{
"files": "*.md",
"options": {
"proseWrap": "always"
}
}
]
}通过以上配置,你可以在 VitePress 项目中高效使用 Prettier 格式化 Markdown、Vue 组件和代码示例,保持文档风格统一。