当前位置: 首页 > 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 删除包

http://www.lryc.cn/news/175379.html

相关文章:

  • 移植RTOS的大体思路
  • FPGA到底是什么?
  • 算法-单词搜索 II
  • 怒刷LeetCode的第15天(Java版)
  • Android开发MVP架构记录
  • day2作业
  • Python办公自动化之Word
  • 力扣26:删除有序数组中的重复项
  • 基于C#的AE二次开发之IQueryFilter接口、ISpatialFilter接口、IQueryDef 接口的查询接口的介绍
  • Oracle 11g RAC部署笔记
  • Redis 字符串操作实战(全)
  • python LeetCode 88 刷题记录
  • 基于 Socket 网络编程
  • 关于C#.Net网页跳转的7种方法
  • 使用acme.sh申请免费ssl证书(Cloudflare方式API自动验证增加DNS Record到期证书到期自动重新申请)
  • 【C语言】进阶——结构体+枚举+联合
  • Socket编程基础(1)
  • 无线通信——Mesh自组网的由来
  • LRU、LFU 内存淘汰算法的设计与实现
  • 常用工具使用
  • HashMap源码解析_jdk1.8(一)
  • Android最好用的日志打印库(自动追踪日志代码位置)
  • 面试官的哪些举动,暗示你通过了面试?
  • ​旅行季《乡村振兴战略下传统村落文化旅游设计》许少辉八一新著想象和世界一样宽广
  • Linux学习第19天:Linux并发与竞争实例: 没有规矩不成方圆
  • Unity添加自定义菜单按钮
  • PHP8的类与对象的基本操作之类的实例化-PHP8知识详解
  • C/S架构学习之TCP服务器
  • 基于微信小程序的线上教育课程付费商城(源码+lw+部署文档+讲解等)
  • Linux基础指令(五)