【若川视野 x 源码共读】第36期 | 笔记

58 阅读1分钟

源码分析

function omit(obj, fields) {
  // eslint-disable-next-line prefer-object-spread
  const shallowCopy = Object.assign({}, obj);
  for (let i = 0; i < fields.length; i += 1) {
    const key = fields[i];
    delete shallowCopy[key];
  }
  return shallowCopy;
}

obj 需要进行浅拷贝删除的对象 fields 所有需要删除属性所组成的数组

  1. omit首先将传入的对象进行一次浅拷贝到空对象中
  2. 然后遍历需要删除的属性
  3. 从浅拷贝后的对象中删除遍历的属性

单元测试

使用nodejs自带的assert库进行单元测试

使用npm run test来测试案例

image.png

npm发包

常用指令

  1. npm config list查看npm所使用的源地址
  2. npm config set registry https://registry.npm.taobao.org
  3. npm config set registry https://registry.npmjs.org

发包

  1. 使用npm login来登录到npm.

在发包之前,确保代码已经被托管

  1. 使用npm publish来发包

建议使用@username/packagename来作为包名