npm 发布组件常用命令

以组件react-native-app-info发布过程为例进行说明:

一、npm 组件创建:

1.先安装组件库创建模板:react-native-create-library

所需环境:Requirements: Node 6.0+

npm install -g react-native-create-library

2.初始化一个组件项目:app-info
react-native-create-library [options] <name>

$ react-native-create-library --package-identifier com.carrot.appInfo --platforms android,ios  --generate-example true app-info

3.重命名项目名:

$ mv app-info react-native-app-info
  1. 安装默认dependencies

终端进入react-native-app-info文件夹下执行:

$ npm install

二、上传代码到github

先在github上手动创建仓库react-native-app-info,本地进行关联。

在本地执行以下命令把代码同步到你github对应的repository中:

1、 cd react-native-app-info

2、 git init //初始化本地仓库

3、 git add . //添加要push到远程仓库的文件或文件夹

4、 git commit -m 'init repository'

5、 git remote add origin  "github对应的项目git地址"  //建立链接远程仓库

6、 git push -u origin master #将本地仓库push到远程仓库

三、npm 组件发布:

npm官方registry为:http://registry.npmjs.org/

国内速度较快的为:https://registry.npm.taobao.org/

1.查看当前registry

`$ npm config get registry`

2.切换registry
2.1全局切换:

`$ npm config set registry http://registry.npmjs.org/`

2.2发布组件时,临时指定:

`$ npm publish --registry http://registry.npmjs.org/`
  1. 创建/登陆npm registry账户

3.1 npm registry注册用户:

$ npm adduser

3.2 登录npm registry

$ npm login

利用以下两种方式来确认你是否创建/登陆成功npm registry

.查看当前登录用户

$ npm whoami

.还可以在线打开 https://npmjs.com/~username 查看是否创建账户成功

注意:初次注册、登录npm账号,需要填写邮箱,并进行激活

4.发布命令:
4.1首次发布:

$ npm publish

4.2更新发布

$ npm version <update_type>  
//npm version作用:1.会自动修改package.json中的version字段;
//2.会自动给你的本地代码打一个tag,tag号就是version对应值

$ npm publish
//发布成功后,记得提交你的本地代码到github仓库,tag也记得提交一下

$ npm version命令是用来自动更新版本号,update_type取值有patch minor major。那么在什么场景应该选择什么update_type呢?看下表

update_type 场景 版本号规则 举例
- 首次发布 版本号1.0.0 1.0.0
patch 修复bug、微小改动时 从版本号第3位开始增量变动 1.0.0 -> 1.0.1
minor 上线新功能,并且对当前版本已有功能模块不影响时 从版本号第2位开始增量变动 1.0.3 -> 1.1.3
major 上线多个新功能模块,并且对当前版本已有功能会有影响时 从版本号第1位开始增量变动 1.0.3 -> 2.0.0

4.3 版本回退
$ npm unpublish packageName@版本号 //packageName是你的包名
使用该命令的前提是你处于login状态,如果没有先登录

4.4 强制删除整个组件包
$ npm unpublish packageName --force //强制删除
删除命令慎用,如果误操作,请做好跑路准备!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容