感谢你考虑为 VueDir 做出贡献!在提交你的贡献之前,请花点时间阅读以下指南。
本项目仅支持使用 pnpm 作为包管理工具。请确保你已经安装了最新版本的 pnpm:
# 使用 npm 安装
npm install -g pnpm
# 使用 Homebrew 安装 (macOS)
brew install pnpm
# 使用 Scoop 安装 (Windows)
scoop install pnpm
# 使用 Chocolatey 安装 (Windows)
choco install pnpm
# 使用官方安装脚本 (Linux/macOS)
curl -fsSL https://get.pnpm.io/install.sh | sh -更多安装方式请参考 pnpm 官方安装指南。
- Fork 这个仓库
- 克隆你 fork 的仓库到本地:
git clone <your-fork-url>
cd vuedir- 安装依赖:
pnpm install- 创建新的分支:
git checkout -b feat/your-feature
# 或
git checkout -b fix/your-bug-fix- 启动开发环境:
pnpm dev这将同时启动:
- Core 库的构建监听(自动重新构建)
- Play 项目的开发服务器(用于测试和开发)
- 文档网站的开发服务器
本项目使用 Prettier 来保持一致的代码风格。配置文件位于项目根目录的 .prettierrc
格式化你的代码:
# 格式化所有文件
pnpm format
# 检查代码格式是否符合规范
pnpm format:check编辑器设置
我们建议在你的编辑器中安装 Prettier 插件,并启用保存时自动格式化:
- VS Code: 安装 Prettier 扩展,并在设置中配置 prettier 配置文件路径。
- WebStorm/IntelliJ: 在设置中启用 Prettier 集成
- 文件名:使用 kebab-case(例如:
v-focus.ts) - 组件名:使用 PascalCase(例如:
VFocus) - 变量名:使用 camelCase(例如:
focusElement)
- 所有的新代码都应该使用 TypeScript 编写
- 确保添加适当的类型注解
- 避免使用
any类型
提交信息应该遵循 Conventional Commits 规范:
feat: add v-focus directive
fix: handle edge case in v-focus
docs: update v-focus documentation
style: format code
refactor: optimize v-focus performance
test: add v-focus unit tests
chore: update dependencies- 确保你的代码通过了所有测试
- 更新相关的文档
- 提交你的改动:
git add .
git commit -m "feat: add new feature"
git push origin feat/your-feature- 创建一个 Pull Request
- 在 PR 描述中:
- 描述你解决的问题
- 描述你的解决方案
- 提供相关的截图(如果适用)
- 标注是否需要更新文档
- 代码符合项目规范
- 添加/更新测试用例
- 更新相关文档
- 本地测试通过
- 提交信息符合规范
请确保你的行为符合我们的行为准则:
- 尊重每一位贡献者
- 接受建设性的批评
- 关注问题本身
- 保持专业和包容的交流氛围
报告问题时,请包含:
- 问题的详细描述
- 复现步骤
- 预期行为
- 实际行为
- 相关的错误信息
- 运行环境信息
再次感谢你的贡献!你的参与对于改进 VueDir 项目非常重要。