当前位置: 首页 > news >正文

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 删除包

相关文章:

  • JavaScript 期约与异步函数的学习笔记
  • 自定义事件的使用
  • 【FAQ】安防监控系统/视频云存储/监控平台EasyCVR服务器解释器出现变更该如何修改?
  • 代理IP与Socks5代理:跨界电商时代的网络安全与数据引擎
  • 测试与FastAPI应用数据之间的差异
  • Spring Boot虚拟线程与Webflux在JWT验证和MySQL查询上的性能比较
  • arcgis拓扑检查实现多个矢量数据之间消除重叠区域
  • 小程序自定义tabbar
  • Activiti回退与跳转节点
  • python基础语法(四)
  • 什么是HTTP状态码?常见的HTTP状态码有哪些?
  • 下载HTMLTestRunner并修改
  • java.math.BigDecimal常用操作
  • Docker命令
  • ES6-解构赋值
  • python爬虫爬取电影数据并做可视化
  • ip地址怎么改网速快
  • Mac 安装软件各种报错解决方案
  • HarmonyOS应用开发—资源分类与访问
  • MFC多文档程序,从菜单关闭一个文档和直接点击右上角的x效果不同
  • 云南城投去年营收约19.29亿元,亏损4945万元
  • 黎巴嫩“伊斯兰集团”组织证实其高级成员在以军空袭中丧生
  • 最高达3521%!美国关税大棒砸向东南亚太阳能产业
  • 上海优化餐企发展环境:装修拓展门店最高奖50万,建立问题协调机制
  • 助力中国足球未来,香港赛马会鼎力支持U15国少选拔队赴英训练
  • 大理杨徐邱上诉案开庭:当事人称曾接受过两次测谎测试