nodejs 如何在npm发布自己的包 <记录>

一、包结构

必要结构:

  • 一个包对应一个文件夹(文件夹名不是包名,但最好与包名保持一致,包名以package.json中的name为主)
  • 包的入口文件index.js
  • 包的配置文件package.json
  • 包的说明文档README.md

二、需要说明的文件

1.配置文件package.json

必要结构:

  • name 包的名字
  • version 包的版本号
  • main 指明包的入口文件
  • description 对包的描述
  • keywords 搜索包时生效的关键字
  • license 包的协议

包的加载机制与package.json文件息息相关

当把目录作为模块标识符,传递给require()进行加载时,有三种加载方式:

(1)在被加载的目录下查找一个叫package.json的文件,并寻找main属性,作为require()加载的入口

(2)如果目录中没有package.json文件,或main入口不存在或无法解析,则Node.js将会试图加载目录下的index.js文件

(3)如果以上两步都失败,则Node.js会在终端打印错误信息,报告模块的缺失:Error Cannot find module 'xxx'

2.说明文档README.md

使用markdown语法

三、发布包

  1. cd进入包的主目录
  2. npm login 登录npm账号
  3. npm publish 发布包(发包前确认npm服务器上不存在同名包)
  4. 发布成功后,进入npm查看个人packages

四、删除包

发布72小时内的包可以删除,被删除的包24小时内不允许再次上传
npm unpublish 包名 --force 删除包

相关推荐
laowang3572 小时前
依赖故障时,日志体系需要埋哪些关键节点才能快速定位是安装失败、解析失败还是运行时缺失?
前端·javascript·vue.js·webpack·node.js
不正经开发者6 小时前
Node.js process
node.js
志尊宝7 小时前
Vue3 环境搭建 + 第一个 HelloVue 项目(零基础入门)
vue.js·node.js·vue·css3
张一根1 天前
ESP32+Mqtt+Node.js+Vue3 做工控界面
node.js
TE-茶叶蛋1 天前
Node.js-Phase 1 学习总结:CLI 文件管理系统
学习·node.js
前端之虎陈随易2 天前
编程语言级别的Skill市场,AI Agent 的未来形态
前端·vue.js·人工智能·typescript·node.js
勉灬之2 天前
利用双网卡服务器搭建 Verdaccio 中转,解决内网 npm 依赖下载问题
运维·服务器·npm
meilindehuzi_a2 天前
从零开始:用原生 Node.js 徒手拆解 RAG 与向量检索底层原理
node.js·rag
炒毛豆2 天前
ai全栈-node.js相关的学习之路(草稿版)
学习·node.js
meilindehuzi_a2 天前
解密 MCP 协议:如何用 Node.js 从零手写一个本地文件读取 MCP 服务器
运维·服务器·node.js