我正在参与掘金会员专属活动-源码共读第一期,点击参与
前言
我们都用过npm
,也安装过npm
包,也知道npm
官网,但是了解过那些包是怎么来的吗?其实我们也可以发布npm
包。经过几天的尝试,我也成功发了一个测试包,接下来我将介绍自己如何发布一个npm
包。
前期准备
工欲善其事,必先利其器。npm
的全称是Node Package Manager
,是一个Nodejs
包管理和分发工具,所以我们需要配好node
环境。环境有了,然后我们还需要注册npm
账号,可以去npm
官网按照步骤完成注册,注册完成后会有账号和密码,注册地址如下:
注册完之后就可以在主页看到这样的信息。
初始化代码
由于我们是要将NPM
包发布到官方源上面,所以需要确保源地址为官方地址http://registry.npmjs.org
或https://registry.npmjs.com
。如果不清楚自己是否在哪个源下面,可以通过npm config get registry
命令查看当前registry
源,如下所示:
由于我的源地址不在官方源下,所以我还需切换至官方源。
准备好示例 demo 代码 index.js
,如下所示:
function npmdemo(argument) {
var name = 'npm';
var id = '666';
var n = function num(arg){
console.log(arg)
}
return {
name:name,
id:id,
n:n
}
}
module.exports=npmdemo();
复制代码
确保好这些之后,我们开始对需要发布代码进行npm init
初始化。对package.json
进行如下基本配置。
按照提示填写信息,比如说我的package name
为:npmdemo,版本号为:1.0.0。
发布NPM包
首先登录npm
官网。
npm login
复制代码
根据提示输入之前注册的账号、密码。
然后可以开始发布npm
包了。发布过程中可能会出现很多问题,比如包名不符合要求,包名已经被占用等等,但是这些问题都比较容易解决。(由于包名重复,我的一个包名改了十几次才成功发布)
npm publish
复制代码
若要检验是否发布成功,我们可以用账号登录npm
,点击头像,选择package
,就会进入到个人的包管理页面了。或者直接搜索发布时的包名,看能否找到对应的包。如下所示:
以上就是我的那个示例包发布成功后的界面。
安装并使用发布的包
安装发布的npm
包:
npm install npm_testdemo_pro
复制代码
使用发布的包,此处我的示例代码为index.js
。如下所示:
var testnpm = require('npm_testdemo_pro');
console.log(testnpm);
复制代码
最后运行示例代码node index.js
即可。
更新NPM包
更新npm
包只需执行如下命令即可:
npm version patch
npm publish
复制代码
npm version 后面的参数说明如下:
patch:表示小变动,比如修复bug等,版本号变动 1.0.0->1.0.1
major:表示破坏模块对向后的兼容性,版本号变动 1.0.0->2.0.0
minor:表示增加新功能,不影响现有功能,版本号变动 1.0.0->1.1.0
这些是常见的参数,还有一些不常见的就没有罗列出来了。
总结
通过几天的研究以及学习,了解了如何发布一个npm
包,以及更新npm
包。简单来说就是发布通过publish,更新通过version。整体流程看起来还是挺简单的,但是还是需要自己去尝试才行,只有通过自己的尝试才能发现会出现哪些问题。
往期回顾: 源码才十几行的数组转换工具arrify,快学起来