最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 发布属于自己的npm包

    正文概述 掘金(前端25仔)   2021-04-02   620
    前言

    我们的项目随时都在安装和使用各种npm包,这时候有童鞋想要拥有自己的npm包并且让别人也能使用。这时我们应该怎么做尼?下面,本文将带你一步一步创建自己的npm包并发布到npm。

    准备工作

    1. 首先我们要注册npm账户

    注册传送门

    1. 全局安装nrm管理npm仓库 ---(非必要,只是为了方便切换)

      npm i nrm -g
      
      • nrm是npm仓库管理的软件,可用于npm仓库的快速切换

        nrm常用命令
        
        nrm //展示nrm可用命令
        nrm ls //列出已经配置的所有仓库
        nrm test //测试所有仓库的响应时间
        nrm add <registry> <url> //新增仓库
        nrm use <registry> //切换仓库
        
    发布包

    1. 创建工程文件夹
    mkdir magic-demo-npm && cd magic-demo-npm
    
    1. 创建package.json
    npm init
    
    • 按照提示一步步完善即可,也可使用npm init -y使用npm默认设置,稍后再通过编辑package.json修正。 注意:本次演示的包的入口文件是index.js,请务必确保package.json中字段main对应的值是“index.js”。

    • 创建结果

      {
        "name": "magic-demo-npm",
        "version": "1.0.0",
        "description": "my first npm",
        "main": "index.js",
        "scripts": {
          "test": "echo \"Error: no test specified\" && exit 1"
        },
        "keywords": [
          "npm"
        ],
        "author": "magic_yuanwei",
        "license": "ISC"
      }
      
    1. 创建README.md
    ### magic-demo-npm
    
    This is my first npm package!
    
    It is just for learning.
    
    1. 创建index.js
    module.exports = {
        printMsg: function () {
            console.log('this message is from magic-demo-npm!');
        }
    }
    
    • 最终目录结构
    └── magic-demo-npm
        ├── README.md
        ├── index.js
        └── package.json
    
    1. 发布包
    npm publish
    
    • 注意:可能会遇到报错

      1. 我们没有登录
      • -----------解决办法:npm adduser

      • -----------依次输入-用户名-密码-邮箱

      2.镜像源不对

      • 用nrm切换到npm仓库,执行命令nrm use npm

    以上问题解决后再次执行发布命令npm publish,发布成功。

    使用就和正常包使用一样,npm install就行了。

    迭代

    npm包的每次迭代都要涉及到两个方面:

    • 内容的变更
    • 版本的变更
    1. 内容变更
    module.exports = {
        printMsg: function () {
            console.log('this message is from magic-demo-npm!');
            console.log('update')
        }
    }
    
    1. 版本变更

    npm采用语义化版本,共三位,以’.’隔开,从左至右依次代表:主版本(major)、次要版本(minor)、补丁版本(patch)。

    例如:1.0.0 major.minor.patch

    关于版本变更规范:

    代码状态等级规则版本样例
    首次发布新项目发布以1.0.0开始1.0.0bug修复,向后兼容补丁版本发布变更第三位数字1.0.1新功能,向后兼容次版本发布变更第二位数字,且第三位重置为01.1.0重大变更,不向后兼容主版本发布变更第一位数字,且二三位重置为02.0.0

    变更版本号的命令:npm version <major | minor | patch>

    假如我们本次是次要发布,我们执行命令:

    npm version minor
    

    版本也就变成了

    {
      "name": "magic-demo-npm",
      "version": "1.1.0",
      "description": "my first npm",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "keywords": [
        "npm"
      ],
      "author": "magic_yuanwei",
      "license": "ISC"
    }
    

    发布

    npm publish
    

    安装更新

    npm up magic-demo-npm
    
    废弃/删除

    npm包发布后可以对包进行废弃或删除操作,废弃和删除的区别在于:

    • 废弃不会将包或版本从npm仓库删除,仍然可以继续下载安装,并在安装的时候会有警示
    • 删除会将包从npm彻底删除,无法被下载安装

    无论是废弃还是删除,都包含两个层面:

    • 版本的废弃/删除
    • 包的废弃/删除
    1. 废弃

    语法:npm deprecate <pkg>[@<version>] <message>

    npm deprecate magic-demo-npm 'test deprecate'
    
    1. 删除

    npm不鼓励任何形式的删除,主要因为我们发布的包可能已经被其他人引用,如果我们删除了此包,其他人在重新安装含有我们包的依赖的工程时,出现找不到包问题。

    基于此,npm做了相关的删除限制:

    • 删除的版本24小时后方可重发!
    • 只有发布72小时之内的包可以删除!
    npm unpublish magic-demo-npm --force
    
    到此结束,有兴趣的小伙伴不妨自己动手试一试。

    起源地下载网 » 发布属于自己的npm包

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元