多图 | 发布 Node 模块到 NPM 社区方法详解

1,529 阅读4分钟

尊重版权,未经授权不得转载出处:www.lcode.org

本周报来自江清清的技术专栏,欢迎微信关注公共号:codedev123.精彩技术文章第一时间推送!

(一).NPM介绍

我们在开发React Native应用的时候,经常会开发一些组件和模块库,同时打包以便在项目中便捷使用。这样我们一般会选择把库模块上传到NPM库(www.npmjs.com/)。NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:允许用户从NPM服务器下载别人编写的第三方包到本地使用。允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

React Native交流10群:157867561,欢迎各位大牛,React Native技术爱好者加入交流!同时博客右侧欢迎微信扫描关注订阅号,移动技术干货,精彩文章技术推送!

(二).node和npm安装

我们需要在系统上面进行安装相应的node模块(注意:Python2.6或者2.7已经安装),具体安装方法可以参考如下的两篇文章(Mac和Windows):

2.1.Mac版本React Native环境搭建附属Node和Npm模块安装:www.lcode.org/?p=4

2.2.Windows版本React Native环境搭建附属Node和Npm模块安装:www.lcode.org/?p=702

在成功安装node之后,npm(node package manager)已经包含在内了,不需要在进行独立安装,直接执行npm命令即可检查是否已经正常安装好。

(三).仓库创建(repository)

现在我们需要去创建模块(module)所需要的仓库(repository),这时候需要你拥有一个github账号了。用这个git仓库来托管我们的模块代码,并且这样可以方便用户向我们提交一些issue或者pr。

(四).package.json配置文件初始化

接下来我们要使用npm init命令创建package.json配置文件,跟着步骤一步步设置相关的配置信息,例如:模块名称,版本,描述简介,依赖库,作者相关信息,版权声明等等。下面我们来已testnpm项目为例,带着大家一步步来初始化。

我已经在github上面创建了一个testnpm项目,然后git clone到本地:

之后cd testnpm并且执行npm init命令,系统终端会提示你输入相关配置信息,如果不想输入的直接回车即可。

这些信息输入完成以后,系统会跟你确定一下信息是否有误,如果没有直接yes回车即可。

然后我们可以创建一些对应的文件夹,例如:code,lib,test,doc等等,用于存放具体源代码,库代码,测试文件和一些相关项目文档等。

(五).发布(publish)

完成以上一些基本配置步骤之后,接下来我们需要在npmjs.com网站注册账号,然后用于发布模块使用。基本命令如下,用户名,密码,邮箱填写你注册的信息

 配置成功之后,认证信息会存储起来,我们可以通过如下命令进行查看用户:

 以上步骤全部完成以后,现在我们可以进行发布模块了:

居然提示没有权限,后来发现这个库项目在npmjs中别人已经提交过了,所以我们需要修改一下名字,打开package.json文件修改一下里边的name字段,然后重新执行npm publish命令之后,就会看到

提示已经上传成功了,接着刷新一下npmjs.com网站就会看到刚刚上传的库信息

然后用户如果需要使用你的这个库,直接npm install lcode_testnpm命令即可下载安装到项目中啦。

 最后我们来说一下package.json文件中的version版本的信息设置:

版本格式:主版号.次版号.修订号,版号递增规则如下:

  • 主版号:当你做了不相容的 API 修改,
  • 次版号:当你做了向下相容的功能性新增,
  • 修订号:当你做了向下相容的问题修正。

先行版号及版本编译资讯可以加到「主版号.次版号.修订号」的后面,作为延伸。

到现在我们已经成功完成了创建初始库到正确上传到npm社区的工作,赶紧来尝试一下把~