npm 发布自己的包-记录一下

发布到npm registry

开发好组件之后,想在其他的项目(或者提供给其他人安装使用)中通过npm install的方式安装你的组件,那么你的组件必须发布到npm registry中。

1.npm registry

简单来说,npm registry就相当于一个包注册管理中心。它管理着全世界的开发者们发布上来的各种插件,同时开发者们可以通过npm install的方式安装所需要的插件。
npm官方registry为:http://registry.npmjs.org/
国内速度较快的为:https://registry.npm.taobao.org/

查看本地当前使用的registry
npm config get registry

切换registry
npm config set registry http://registry.npmjs.org/
临时切换registry
npm publish --registry http://registry.npmjs.org/
注意: 国内目前发布组件时,必须切换为npmjs,否则npm publish也不会成功

2. 登录

首先去npm官网注册个账号

npm login
registry必须使用npmjs才能登录成功
npm whoami确认是否登录成功

3 发布组件到npm

npm publish
可以在线查看确认是否发布成功。访问链接(是你发布的npm package名):
https://www.npmjs.com/package/
看看是否已经有内容了,有内容说明发布成功了。

4 更新组件并发布

git commit
// 保证是npmjs,不能使用国内镜像
npm version <update_type>
npm publish
push tag
push branch

npm publish命令是用来自动更新版本号,update_type取值有patch minor major,分别有以下场景
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

如果首次发布版本号不是1.0.0的话,那么用$ npm version <update_type>
来更新会报错,因为你没有按照它约定的版本规则来,这个时候,你可以手动修改package.json中的version字段为符合约定规则的版本号,然后直接执行$ npm publish就可以,然后下次再增量更新的时候,就可以直接使用npm version <update_type>的方式来自动更新版本号了

TAG

首次发版执行npm publish后需要自己手动打tag
每次使用npm version命令更新版本后,会在本地新建一个当前版本的tag,每次npm publish后需要将tag推到github

// 新建tag
git tag <版本号> -m "<备注信息>"
// 删除tag
git tag -d <版本号>
// 打印所有标签
git tag`
// 推送本地tag到远端
git push origin v1.0.1
"clean": "watchman watch-del-all && npm start -- --reset-cache",

 

其他命令

npm search react-native-zyhdev-testlibray 查询组件库信息
npm search --keywords testlibrary 根据关键字查询组件库

删除组件

//删除要用force强制删除。超过24小时就不能删除了。自己把握好时间。另外删除组件后24小时内不能再publish
npm --force unpublish packageName
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值