npm发布自己的包

118 阅读2分钟

一.初始化包的基本结构

1.新建一个my-tools的文件夹,作为根目录
2.在my-tools文件夹下新建三个文件

  • package.json (包管理配置文件)
  • index.js (包的入口文件)
  • README.md (包的说明文档)

f97e567b9b02d2ac008aa85b8f249e9.png

二.初始化package.json

{
  "name":"my-tools-lxx",
  "version":"1.0.0",
  "main":"index.js",
  "description": "提供深拷贝的方法",
  "keywords":["clonedeep"],
  "license": "ISC"
}

name:定义包名,名称是不能重复的,将来包叫什么,由这个name决定,和根目录无关
version:默认初始版本号
main:指定包的入口,将来使用require导入的就是main指向的这个文件
description:简短的描述包的信息
keywords:用户搜索的关键字
license:包所遵循的开源协议

三.在index.js中编写方法

//封装深拷贝的方法
let deepCopy = (data) => {
  if (data == null) return;
  let typeOf = (d) => {
    return Object.prototype.toString.call(d);
  };
  let o = null;
  if (typeOf(data) === '[object Object]') {
    o = {};
    for (let k in data) {
      o[k] = deepCopy(data[k]);
    }
  } else if (typeOf(data) === '[object Array]') {
    o = [];
    for (let i = 0; i < data.length; i++) {
      o.push(deepCopy(data[i]));
    }
  } else {
    return data;
  }
  return o;
}
module.exports = {
  //向外暴露成员
  deepCopy
}

四.编写包的使用说明文档

d38abc64668b835ad7ef9c0ed6202ee.png

五.发布包流程

5.1注册npm账号

  1. 访问www.npmjs.com/ 网站,点击sign up按钮,进入注册页面
  2. 填写账号信息,Full Name、Public EmailUsernamepassword
  3. 点击Create an Account按钮,注册账号
  4. 登录邮箱,点击验证链接(非常重要)

5.2在终端登录npm账号

  1. 先确认把包的服务器地址切到npm的官方服务器
  • 使用nrm ls查看镜像地址
  • 使用nrm use npm 切换回npm服务器
  1. 在终端执行npm login命令,依次输入用户名、密码、邮箱后,即可登录成功。第一次登录会给邮箱发送一个验证码,验证完才能登录成功。
  2. 密码输入过程中不会显示密码,输完密码回车即可

dc41e36c6f144fc0512f67b83b4fe2c - 副本.png

fd8ca90a2e9c91fda102a02d6f63059 - 副本.png

5.3发布包

把终端切换到包的根目录下之后,运行npm publish命令,即可将包发布到npm上,查看npm账号,确认发布成功(因为my-tools有很多类似的,所以发布不通过,因此在package.json修改名字再次发布才成功)

9bf159ec29153bf54d9ea3ac6b75706.png

545eea536b8e249a02d8301c4bd938b.png

六.删除发布的包

运行npm unpublish 包名 --force 命令,即可删除已发布的包。
注意点:

  1. npm unpublish只能删除72小时以内的包
  2. npm unpublish删除的包,在24小时内不允许重复发布
  3. 尽量不要发无意义的包