发布自己的npm包

ops/2024/12/22 12:57:03/

注册账号

首先需要先到npm官网注册个账号,https://www.npmjs.com 。

注意,邮箱需要认证,否则上传包的时候就会报错。

关联​

接下来打开powershell(cmd等皆可),关联npm账号,

按照提示依次输入注册的信息,

检测包名​

在创建项目名时,可以先去 npm官网 中搜索下有没有相同包的名,如果有的话,要修改,否者上传肯定是会报错的。

创建代码文件​

接下来到项目根目录,并完成 npm 初始化

npm init

新建 index.js,因为这是包的默认入口文件。

然后就开始码代码的任务了,这块就跳过了。好的,我们现在已经写好代码并测试完成了,下面就开始上传了。

上传​

在项目目录下,输入  npm publish 

直接去npm官网,个人的packages下,就可以看到对应上传的包了。

下载确认​

和往常一样,使用 install 安装,

到这,简单的包发布就结束了。

修改再提交​

实际测试的时候,发现代码少了await,导致请求的时候,没有等到赋值ctx.body,出现了错误。故修改一下。

版本控制​

不修改版本直接 publish,也会出错的,是因为每次提交地版本号必须不一样。

如果每次手动去修改版本,那是比较麻烦的,npm 也提供了自动增加版本号的方式:

用法:npm version

  • patch,小变动,比如修复bug等,版本号变动 v1.0.0->v1.0.1。

  • minor,增加新功能,不影响现有功能,版本号变动 v1.0.0->v1.1.0。

  • major,破坏模块对向后的兼容性,版本号变动 v1.0.0->v2.0.0。

  • 再次更新​

    非大版本更新直接 npm install xx 就行了,当然如果是大版本更新(major)了,可以在install时加上版本号:npm install xx@1.1.0


    有些时候,我们发现上传的代码有严重问题时,为了防止问题影响到其他人,可以选择先删除前一个版本。

    删除指定的版本​

    npm unpublish 带上包名和版本号就行了。

  • 删除整个包       

npm unpublish 包名

        如果有权限问题,撤销不了,可以添加--force。 发布撤消的话也是有诸多限制的:

  • 只有在发包的24小时内才允许撤销发布的包。
  • 即使你撤销了发布的包,再次发包的时候也不能使用刚才相同的版本号了。

package.json​

我们用npm init生成的package.json并不完善,比如需要在npm中显示的代码托管地址,issues地址等,完整的可以看下官网地址:Creating a package.json file | npm Docs 。

keywords​

关键字,会在npm包内容页面最底部。

repository​

右侧显示的项目托管的地址。

bugs​

右侧显示的提bug的地址。

README.MD​

readme也是需要的,这样可以让使用者简单地了解下这个组件。怎么写可以看下:https://docs.npmjs.com/about-package-readme-files。

 


http://www.ppmy.cn/ops/21465.html

相关文章

vue中resetFields 失效?impossible好吗老弟

vue中resetFields 失效? 一、解决方案 加上prop就可以了 this.$refs.searchFrom.resetFields();

TCP/IP协议族中的TCP(三):解析其关键特性与机制

⭐小白苦学IT的博客主页⭐ ⭐初学者必看:Linux操作系统入门⭐ ⭐代码仓库:Linux代码仓库⭐ ❤关注我一起讨论和学习Linux系统 前言 TCP(Transmission Control Protocol,传输控制协议)是互联网协议族中至关重要的组成部…

【IDEA】在IntelliJ IDEA中导入Eclipse项目:详细指南

IntelliJ IDEA和Eclipse是两款常用的集成开发环境(IDE),在软件开发中经常会遇到需要在它们之间迁移项目的情况。本文将重点介绍如何在IntelliJ IDEA中导入Eclipse项目,以帮助开发者顺利地迁移他们的项目,并在IntelliJ …

记录些AI Agents设计模式和NL2SQL知识

吴恩达分享的四种 自我反思(Reflection):可以自我修正;使用工具(Tool Use):链接其他系统去做一些事情,比如把电脑里面的未归档文件做好归档;规划(Planning&a…

去雾笔记-知识蒸馏

知识蒸馏(Knowledge distillation)是一种模型压缩技术,旨在将一个复杂的模型(通常称为“教师模型”)的知识转移给一个较简单的模型(通常称为“学生模型”),以降低模型的计算复杂度和…

【打工日常】云原生之部署私有化个人工作云盘

一、FileGator介绍1.FileGator简介FileGator是一个免费开源自托管的Web应用程序,用于管理文件和文件夹,部署在自己的服务器上,解放笔记本的压力,随时随地的能看到自己的文件,并且可以共享,方便团队的协作,更有利于个人工作的开展。2.FileGator功能管理本地存储库文件夹中…

垃圾收集器ParNewCMS与底层三色标记算法详解

垃圾收集算法 分代收集理论 当前虚拟机的垃圾收集都是采用分代收集算法,这种算法没有什么新思想,只是依据对象的存活周期不同将内存分为几块.一般将Java堆分为新生代和老年代,这样就可以根据各个年代的特点选择合适的垃圾收集算法. 比如在新生代中,每次收集都会有大量对象(近…

应用实战 | 别踩白块小游戏,邀请大家来PK挑战~

“踩白块会输”是一个简单的微信小程序游戏,灵感来自当年火热的别踩白块游戏,程序内分成三个模块:手残模式、经典模式和极速模式,分别对应由易到难的三种玩法,可以查看游戏排名。动画效果采用JS实现,小程序…