zoukankan      html  css  js  c++  java
  • 发布自己的npm包

    相信前端同学对npm install这个命令已经很熟悉了,但是当我们想要将自己的某个插件或者模块发布到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

    参考:
    https://www.jianshu.com/p/e40f24e28b94
    https://www.jianshu.com/p/091a68ea1ca7
    https://github.com/frostney/react-native-create-library
    https://www.jianshu.com/p/628c8cc17fa0

  • 相关阅读:
    [转载]重构代码的7个阶段
    查看JDK源码
    敏捷结果30天之第七天:设定边界值和缓冲
    敏捷结果30天之第十一天:高效能、慢生活
    他们到底需要神马???——戏说“用户需求”
    敏捷结果30天之第一天:总体认识敏捷结果方法
    敏捷结果30天之第五天:使用热图标识出重要事情
    重构代码学习笔记一:重构的原则
    开发可统计单词个数的Android驱动程序(2)
    使用Android NDK和Java测试Linux驱动
  • 原文地址:https://www.cnblogs.com/cangqinglang/p/11225166.html
Copyright © 2011-2022 走看看