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

### 配置 npm 的最佳实践 在 Node.js 环境下正确配置 npm 是开发过程中非常重要的一步。以下是关于设置代理、镜像源以及全局参数的具体方法。 #### 设置 npm 的镜像源 为了提高下载速度并减少网络延迟,可以将 npm 的默认注册表更改为国内的淘宝镜像。通过以下命令实现: ```bash npm config set registry https://registry.npmmirror.com ``` 此操作会更改 npm 的全局配置文件中的 `registry` 字段[^2]。如果需要验证当前使用的镜像源,可运行以下命令: ```bash npm get registry ``` #### 配置 HTTP/HTTPS 代理 在网络受限的情况下(例如公司内部网),可能需要配置 HTTP 或 HTTPS 代理来访问外部资源。可以通过如下命令完成代理设置: ```bash npm config set proxy http://proxy.company.com:8080 npm config set https-proxy http://proxy.company.com:8080 ``` 上述命令分别设置了 HTTP 和 HTTPS 协议下的代理地址。如果不需要代理或者想取消已有的代理设置,则执行以下命令即可清除代理配置: ```bash npm config delete proxy npm config delete https-proxy ``` #### 全局参数配置 某些情况下,开发者希望调整 npm 的行为以适应特定需求。常见的全局参数括缓存目录位置和日志级别等。例如,修改缓存路径到自定义目录: ```bash npm config set cache "/path/to/custom/cache" ``` 此外,还可以降低或提升日志记录的详细程度以便于调试问题: ```bash npm config set loglevel warn ``` 以上命令将日志等级设为警告模式,仅显示错误和警告信息[^1]。 #### 总结 合理地配置 npm 不仅能优化依赖管理效率,还能解决因地域差异带来的网络瓶颈等问题。按照上述指南进行相应设置后,能够显著改善基于 Node.js 开发项目的体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值