源码共读,第36期 | omit.js 剔除对象中的属性

134 阅读2分钟

前言

阅读方式

从整体到局部,从入口到内部

想要学习的知识点

  1. 学习代码的实现思路
  2. npm的发布流程
  3. 如何单元测试

源码阅读

  1. 这个库是什么?
    • 这个库是针对对象使用,删除某些属性之后返回浅拷贝对象
  2. 使用场景?
    1. 针对对象做删除属性操作
    2. 返回删除属性后的对象
  3. 代码结构重要部分
    • src:逻辑的实现过程
    • test: 单元测试,验证代码质量
    • index.js: 对外抛出使用方法
    • package.json 项目依赖及相关信息
  4. 代码的实现过程 Object.assign + delete key
  5. father
    • 打包工具
    • 用来打包输出编译后针对不同规范的js
    • 也用来做单元测试执行

发布包的流程

  1. 有个npm账号(没有的去npmjs.com官网去注册)
  2. 通过命令登录npm: npm login
    • 输入 username、password、email、以及邮箱的otp
  3. 编写包 npm init
  4. 发布包 npm publish
    • 发包的时候package.json中name不能为驼峰命名,最好为-连接的方式,如 modify-obj-key
  5. 删除发布过的包
    • npm unpublish packageName --force
    • packageName:发布的包名

效果检测(输出物)

  1. 实现一个修改已有对象的key的方法
  2. 发布到npm
  3. 做单元测试

总结

  • 学会了npm包的编写和发布
  • 第一次完整的看完一个源码分析,希望以后都能坚持下去
  • 以目标为导向的学习,效果会更好点

不足

  • 对father不太了解

参考链接

npm包发布流程:juejin.cn/post/702879…