6

伴随着 Node 的兴起,npm 成为了前端工程中的模块小管家。当攻城狮们要在项目中使用第三方的开源框架或工具时,一行 npm install 就能把需要的东西从 npm 的服务器下载到本地。

在 npmjs.com 上可以看到目前已发布的所有 package。截止 2020 年 2 月 16 日,npm 上一共有 120 万个 package,周下载次数高达 160 亿次(真的多...)。

npm 相关数据

比如我们熟知的 Vue 和 React 就在这 120 万个 package 中。

发布一个 node package 的过程并不复杂,就像发一条朋友圈一样简单,大致分为以下几步:

  1. 拥有一个可发布的项目
  2. 注册一个 npm 账号(如果有的话就不需要了)
  3. 验证邮件
  4. publish!

不废话了,借由一个名叫 konsole 的例子,开始!

初始化项目

这里的初始化倒不是说怎么写代码,而是做一些发布前必须的初始化工作。简单来说,我们需要一个 package.json 文件,这是必须的。其中会包含比如名称、描述、作者、版本等信息,这些对于一个 node package 来说都是必不可少的。

一般情况下,只需要一条 npm init 命令,就会进入 package.json 的新建过程。全程是问答式的,填写完必要信息以后确认就行。

package.json

注册 npm 账号

正如发布一条朋友圈需要一个微信账号一样,发布 nodee package 需要一个 npm 账号。

账号的注册也是一条命令就可以解决的事情:npm adduser,注意是 adduser 不是 add user。注册账号的过程也是问答式的,填完信息回车确认即可。

需要验证邮箱,否则不能发布任何东西。

npmjs 个人信息页

发布!

万事具备,只欠发布:

npm publish <folder>

在第一次发布时,我遇到了这样的错误:

403

报错信息告诉我没有权限发布这个 package,我露出了黑人问号脸.png,我自己的东西我怎么没有权限呢......

我灵机一动,可能是名字冲突的问题?于是去 npmjs.com 上搜索了 konsole,果不其然,已经有一个名叫 konsole 的 package 了。

于是我在 package.json 里面改了名字,再次发布!

success

舒服,成功了。

权限管理

node package 的权限管理可以让开发者自行添加和删除拥有管理当前 package 的角色。

  • npm owner ls,查看所有拥有权限的人
  • npm owner add,添加管理员
  • npm owner rm,移除管理员

最后

以上,是发布一个 node package 需要掌握的所有“技能”,hope u enjoy : )

我的微信公众号


劉凯里
841 声望1.6k 粉丝

我可能是一个假前端