今天终于有闲情,研究一下如何发布自己的NPM包了

254 阅读3分钟

最近空闲时间比较充足,为此想提高一下自己的技术能力。为此参加了“每周源码共读活动”,借此机会督促自己每周抽出一定的时间去阅读源码,从而提高自己的项目架构能力,学习一下大佬们的编码组织方法;也借此机会,养成一个学习做笔记,写文章输出的习惯。闲话不多说,现在开始。

作为一个前端开发工程师,安装一个npm包是最基础的。但想必很多人,跟我一样吧。平时工作的时候,如何安装npm包和使用npm包,脑子里想都不用想,就知道如何操作。但如何从0到1封装发布一个npm包,却不是经常使用到。从而对这方面的知识不是很了解。为此,简单写篇文章记录一下吧。

每个人要发布的npm包类型都不同,有UI组件库,有工具函数库,还有各种实用的插件等等。本文例子发布的是自己工作中用到的一些工具函数库,构建工具使用的是Rollup(刚研究了Rollup,巩固一下),代码管理github;

1、代码准备\color{#135ce0}{1、代码准备}

  • 新建项目目录mkdir xxx 并进入目录cd xxx
  • 初始化npm工具包 npm init,初步创建成果类似这样

image.png

注意:若需要发布仅有包需要在package.json中增加publishConfig的配置

image.png

  • 在目录下新建一个index.js文件,使用module.exports暴露你需要向外暴露的函数或变量;

image.png

  • 将代码托管到github。在github新建项目,并关联项目到github上(发布NPM包可不用同步到github上。一般我们都是选择将代码同步到github上的,具体步骤就不累述了)

2NPM账号注册\color{#135ce0}{2、NPM账号注册}

NPM账号账号注册,本文就不累赘多述了(偷懒~。。。)。各位看官自行网上看教程(注册地址

账号注册教程!

3NPM包发布\color{#135ce0}{3、NPM包发布}

3.1 登录NPM账号

打开项目终端,在终端输入npm login并执行命令登录npm

image.png 按终端提示一步步输入username, password, OTP成功登录后的结果类似这样:

image.png

3.2 如何发布NPM包

3.2.1:首次发布成功\color{#135ce0}{3.2.1:首次发布成功}

登录成功之后可以执行发布命令了:npm publish,如下图:

image.png

发布期间遇到的问题

image.png

1.出现这样的问题。意思就是说你没有这个包的权限,确认你登录的是这个包的用户?原因是你的包名跟别人发布的包名重复了,修改package.json文件中的包名,然后再发布。(若重复出现这样的问题,那就重复改包名字咯~~~)

image.png

2.出现这样的问题:意思就是说你不能发布早于之前的版本。解决方法就是修改package.json文件的版本号。

3.3 引用NPM包

随便打要一个测试项目,然后用终端执行命令npm install xxx安装刚刚发布好的npm包。 安装成功后,就可以在node_modules下看到你刚发布上去的npm包了。如下:

image.png

现在就可以导入测试一下了:

image.png

Perfect!!!测试通过!

3.4 更新NPM包

  • 第一步:更新你的NPM包的代码;
  • 第二步:修改package.json文件的版本号
  • 第三步:执行npm publish命令