从零开始做一个开源项目学习笔记

以下笔记总结于 “慕课网” 双越 老师

      • 确定做什么
        • 想要知道做什么先明白开源的期望
        • 做什么
          • 举例
        • 重要的是你选出来了
      • 版本号规范
      • 一级目录规范
      • git分支规范
      • 完善readme
      • 代码管理
      • 文档和测试用例
      • 提交第一版代码
        • git发布release
        • npm发布
      • 提交小版本代码
      • 发布步骤小结
      • 开发者贡献源码(pull request)
      • 创建官网
      • 后续完善中……

确定做什么

想要知道做什么先明白开源的期望

  • 快速做出第一版,至少能用。后面慢慢迭代。
  • 要能方便的推广使用,最好是0成本使用(例如框架不是0成本使用)。

自己开源做得快,别人用的也快。

做什么

  • 小而精的工具。开发快,使用成本低。
  • 有特色,哪怕只有一个。
  • 一定要大众
  • 避开已经被成熟产品垄断的领域
举例
  • cache工具(缓存工具,整合localStorage,以及合理的内存销毁机制)
  • query2json,解析url参数为json格式
  • 移动端打印console.log,方便移动端输出内容

重要的是你选出来了

不要犹豫,选出来了就Just Do It

版本号规范

例如有版本号:“version”:"0.0.1"。以后每次正式提交代码,版本号都不一样。版本号分三级,分别为:

  • 一级,重构版本
  • 二级,重大功能改进
  • 三级,小升级或者bug修复

一级目录规范

项目一级目录提前订好,不能乱来。例如:

  • src - 源代码
  • release - 发布结果
  • test - 单元测试用例
  • doc - 文档
  • example - 示例

git分支规范

至少存在两个分支,masterdevdev是开发中的代码,dev中开发后并无bug然后合并master分支。你可以规范更多分支,例如next fix-bug等。用不到的不要先规划

完善readme

  • 简介
  • 产品安装和下载
  • 快速使用(详细使用文档或者二次开发文档外链即可)
  • 使用文档
  • 提问交流区(github自带issue,qq群(及时反馈))
  • 关于作者(个人主页、收款二维码)

代码管理

  • 一开始就要用ESLint,防止以后出坑

文档和测试用例

非常重要!!!!!!!!!!代码不可分割一部分。

  • gitbook全局安装,自动生成未创建的md文件

gitbook init创建,gitbook build生成html文件

提交第一版代码

git发布release

  • 忽略gitbook生成的_book文件夹,提交。
  • 创建 tag 提交
git tag -a 'v0.0.1' -m "第一版本"
git push origin v0.0.1

npm发布

npm add user
npm publish .
  • npm提供CDN:http://unpkg.com/项目名字/release/bundle.js

提交小版本代码

git checkout -b dev 切换新建分支dev
git branch 查看当前命令

千万要确认版本号

git checkout master 切换主分支
git merge dev 合并dev分支

发布步骤小结

  1. 创建分支,开发代码
  2. 小版本提交dev
  3. 确认dev无bug后master合并dev
  4. 打标签版本号
  5. 发布标签版本号
  6. npm发布

开发者贡献源码(pull request

同意其他开发者提供的代码改动,在pull request标签下,点击merge按钮,然后需要注意在本地执行git pull origin master(或其他分支)命令

创建官网

  • 通过github page进行挂网
    • 创建index.html
  • 直接访问名字.github.io即可访问
  • gitbook打包生成的_book文件放入

后续完善中……

你可能感兴趣的:(项目总结)