node.js如何管理发布包

70 阅读3分钟

前言

如果有一天我们自己也想开发一些包,也希望发到社区,那么如何管理发布包呢,这篇文章就介绍如何管理发布包。

创建包并发布

首先,我们需要明确我们要实现一个什么功能的包,然后就开始要写代码了。

1. 创建一个文件夹packageTest, 里面新建一个index.js文件,在文件中声明函数,并使用module.exports暴露出来。

// 测试小代码,判断变量是否是数组
const isArray = (val) => {
  return Array.isArray(val);
};

module.exports.isArray = isArray;

2. npm初始化工具包,package.json填写包的信息

在packageTest文件夹下使用下面命令初始化工具包。

npm init -y

这时packageTest文件夹下就会出现一个package.json文件,初始化内容如下:

{
  "name": "packageTest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

可以根据实际需求修改配置,但是千万要注意的是包名必须唯一。

3. 去官网注册账号

进入官网后我们可以看到这样一个页面

image.png 填写信息注册账号。

4. 激活账号

注册成功之后,我们会收到邮件,根据邮件的信息激活账号。

5. 修改为官方的官网镜像

我们之前在安装npm配置的镜像是淘宝镜像,在这里我们需要切换到npm官网的镜像,这里我们使用nrm修改镜像

nrm use npm

6. 执行npm login填写账号密码信息

npm adduser //创建账户 
npm login //登录 
npm whoami //查看已经登录的账号

7. 执行npm publish 提交包

npm publish

执行上述命令就可以发包了,如果报错了,

image.png 就执行以下命令

npm publish --acess public

更新包

上述是创建包并发包的过程,在实际过程中,我们很有可能会对我们包的内容进行修改,然后二次发包,甚至多次发包,这时候需要遵循以下步骤

1. 更新包中的代码

根据功能修改完善代码

2. 测试代码

修改完代码不能立马发布,首先肯定是要确保上传的代码能正常运行,不能有错。

3. 修改package.json中的版本号

为了更好地维护我们的包,在每次修改之后都应该修改一下版本号,按照1.0.0 --> 1.0.1 --> 1.0.2这种形式进行修改

4. 发布更新

在上述步骤完成之后,我们就可以发布更新我们的包啦,命令和第一次发包一样

npm publish

废弃包

有可能我们发布包之后不想要了,那么我们就可以废弃或者删除,废弃不会将包或版本从npm仓库删除,仍然可以继续下次安装。而删除会将包从npm彻底删除,无法被下载安装。废弃的命令如下:

npm deprecate

删除包

有可能我们发布包之后想要删除了,删除包并不是想删就删的,因为有可能我们的包在社区上会有些人使用,如果私自删除会对使用者有很大的影响。因此删除包必须要满足以下几个条件之一

  1. 你是包的作者
  2. 距离第一次发布包的时间小于24小时
  3. 如果时间大于24小时,那必须没有其他包依赖,并且每周小于300下载量,而且只有一个维护者。

删除包需要执行以下命令

npm unpublish --force