伴随着 Node 的兴起,npm 成为了前端工程中的模块小管家。当攻城狮们要在项目中使用第三方的开源框架或工具时,一行 npm install 就能把需要的东西从 npm 的服务器下载到本地。
在 npmjs.com 上可以看到目前已发布的所有 package。截止 2020 年 2 月 16 日,npm 上一共有 120 万个 package,周下载次数高达 160 亿次(真的多...)。
比如我们熟知的 Vue 和 React 就在这 120 万个 package 中。
发布一个 node package 的过程并不复杂,就像发一条朋友圈一样简单,大致分为以下几步:
不废话了,借由一个名叫 konsole 的例子,开始!
这里的初始化倒不是说怎么写代码,而是做一些发布前必须的初始化工作。简单来说,我们需要一个 package.json 文件,这是必须的。其中会包含比如名称、描述、作者、版本等信息,这些对于一个 node package 来说都是必不可少的。
一般情况下,只需要一条 npm init 命令,就会进入 package.json 的新建过程。全程是问答式的,填写完必要信息以后确认就行。
正如发布一条朋友圈需要一个微信账号一样,发布 nodee package 需要一个 npm 账号。
账号的注册也是一条命令就可以解决的事情:npm adduser,注意是 adduser 不是 add user。注册账号的过程也是问答式的,填完信息回车确认即可。
需要验证邮箱,否则不能发布任何东西。
万事具备,只欠发布:
npm publish <folder>
在第一次发布时,我遇到了这样的错误:
报错信息告诉我没有权限发布这个 package,我露出了黑人问号脸.png,我自己的东西我怎么没有权限呢......
我灵机一动,可能是名字冲突的问题?于是去 npmjs.com 上搜索了 konsole,果不其然,已经有一个名叫 konsole 的 package 了。
于是我在 package.json 里面改了名字,再次发布!
舒服,成功了。
node package 的权限管理可以让开发者自行添加和删除拥有管理当前 package 的角色。
npm owner ls
,查看所有拥有权限的人npm owner add
,添加管理员npm owner rm
,移除管理员以上,是发布一个 node package 需要掌握的所有“技能”,hope u enjoy : )