资讯专栏INFORMATION COLUMN

如何编写一个 JS 开源库(技能包 / 长文)

aaron / 2620人阅读

摘要:注意在您阅读任何技能章节之前建议您先看看项目背景,它非常简单,但它对您理解后面的内容很有帮助。

引言

GitHub 怎么用?Issue 还能通过 Commit 来同步关闭?版本号是怎么定义的?如何自动发行版本?Commit 还有公约和规范?怎样做持续构建?如何在提交之前就做测试?测试覆盖率是什么?……

也许在工作中您会遇到诸如此类的问题,不论您是菜鸟还是老手,但愿这篇文章能让你在其中找到一些有价值或可借鉴的东西,这源自一个教我学会「如何编写一个 JS 开源库」的实践项目,同时也让我领悟了许多开源项目的工程管理概念、思路及方法,包括 版本管理、测试编写、自动版本发行、代码提交公约、持续构建(CI)、提交前测试、测试覆盖率及其报告 等,总体感觉受益匪浅,在此对教程原文[1]表示感谢,并决定将视频中的大量知识通过写作记录下来,在学习过程中我也加入了一些自己的思考,将视频内容转换成了更通俗的语言,没时间看视频的朋友兴许可以瞧瞧这里,对于简单的技能可以跳过,相关技能的章节已做了电梯,可以直达进行阅读。注意:在您阅读任何技能章节之前建议您先看看项目背景,它非常简单,但它对您理解后面的内容很有帮助。

它让我学会了以下 新技能(√)

【技能 1】账户建立:建立 GitHub 及 npmjs 账号

【技能 2】账户配置:配置 NPM,并构建第一个库

【技能 3】代码提交:提交开源库至 GitHub

【技能 3.1】免密登录:无需每次输入密码登录 Linux 主机

【技能 4】库发布:将开源库发布到 NPM Repo

【技能 5】版本管理:包括版本号定义,版本标签及版本发行

【技能 5.1】版本号定义:版本号每个数字的意义

【技能 5.2】版本标签:为版本加标签发布至 GitHub

【技能 5.3】版本发行:发布一个版本至 NPM

【技能 6】单元测试:利用 Mocha 和 Chai 建立单元测试

【技能 7】自动版本发行:利用 semantic-release 自动化发行

【技能 8】代码提交公约:利用 commitizen 编写提交公约

【技能 9】持续构建(CI):利用 TravisCI 持续构建

【技能 10】提交前测试:利用 ghooks 做提交前自动化测试

【技能 11】测试覆盖率1:利用 Istanbul 做代码覆盖

【技能 12】测试覆盖率2:添加代码覆盖率报告

【技能 13】GH特效:在 README 中添加徽章

【技能 14】ES6支持1:添加 ES6 支持

【技能 15】ES6支持2:使用 Mocha & Babel 对测试添加 ES6 支持

部分技能章节还在更新中,敬请期待

如果您对这篇文章感兴趣,请前往 GitHub 页阅读(https://github.com/DotHide/starwars-names),我将在那里做持续更新,如果您觉得本文有用,请您顺手赏颗⭐️,非常感谢~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/78779.html

相关文章

  • 如何写一份好的前端面试简历?

    摘要:简历的存在只有一个目的帮你约到面试。即使你通过其他方式获得了面试,当你入职的时候,还是要有这么一份纸质简历的,所以不要想着偷懒。在该系统上线后,前端性能从提升到,服务器由台减少到台通过量化的数字来增强可信度。 简历的本质 原文地址在写简历之前,我们必须清楚的了解一件事情,那就是简历是什么?它不是人生履历,不是项目清单,也不是技能大放送。简历的存在只有一个目的 —— 帮你约到面试。只要能...

    winterdawn 评论0 收藏0
  • 如何写一份好的前端面试简历?

    摘要:简历的存在只有一个目的帮你约到面试。即使你通过其他方式获得了面试,当你入职的时候,还是要有这么一份纸质简历的,所以不要想着偷懒。在该系统上线后,前端性能从提升到,服务器由台减少到台通过量化的数字来增强可信度。 简历的本质 原文地址在写简历之前,我们必须清楚的了解一件事情,那就是简历是什么?它不是人生履历,不是项目清单,也不是技能大放送。简历的存在只有一个目的 —— 帮你约到面试。只要能...

    joyvw 评论0 收藏0
  • 如何写一份好的前端面试简历?

    摘要:简历的存在只有一个目的帮你约到面试。即使你通过其他方式获得了面试,当你入职的时候,还是要有这么一份纸质简历的,所以不要想着偷懒。在该系统上线后,前端性能从提升到,服务器由台减少到台通过量化的数字来增强可信度。 简历的本质 原文地址在写简历之前,我们必须清楚的了解一件事情,那就是简历是什么?它不是人生履历,不是项目清单,也不是技能大放送。简历的存在只有一个目的 —— 帮你约到面试。只要能...

    wpw 评论0 收藏0

发表评论

0条评论

aaron

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<