如何发布自己的 npm 包

创建 npm 包项目

  1. 创建项目目录:

    在本地创建一个新的项目目录,并进入该目录。

  2. 初始化项目:

    在命令行中运行以下命令初始化 npm 项目:

    复制代码
    npm init 

    按照提示填写项目信息,包括包名、版本、描述等。

编写代码

在项目目录中编写你的 npm 包代码。确保代码质量和功能完整。

配置 package.json

  • 添加入口文件:

在 package.json 文件中,确保有 main 字段指定了你的包的入口文件,比如:

javascript 复制代码
"main": "index.js", 

这表示 npm 将从 index.js 文件开始加载你的包。

  • 配置 scripts(可选):

如果有一些自定义的命令或脚本需要运行,可以在 scripts 字段中添加,比如:

javascript 复制代码
"scripts": { "test": "node test.js" } 

登录 npm 账户

  1. 创建 npm 账户:

    如果还没有 npm 账户,可以在 npm官网上注册一个。

  2. 登录 npm 账户:

    在命令行中运行以下命令,输入你的 npm 账户信息登录:

    javascript 复制代码
    // 使用以下命令查看npm仓库地址
    npm config get registry
    // https://registry.npmjs.org/   这个为npm源地址,如不是这个 用以下命令设置为源地址
     
    npm config set registry https://registry.npmjs.org/
     
    // 然后执行以下命令登录
    npm login
    // 根据提示输入:用户名、密码、邮箱验证码

    输入用户名、密码、邮箱等信息。

本地调试

1、开发过程中可以在其他本地项目中使用调试,以查看实时效果

javascript 复制代码
// 在 npm 包根目录 执行以下命令
npm link

2、在本地其他项目根目录执行命令引用

javascript 复制代码
// 在需要引用的项目根目录执行
npm link 'npm包名称'

然后在项目的 node_modules 文件夹下查看是否有 npm 包

发布 npm 包

运行以下命令发布包:

javascript 复制代码
npm publish 

如果是第一次发布,可能需要验证邮箱。

更新 npm 包

如果在发布后进行了一些修改,需要更新版本号并重新发布。

  • 使用 npm version 命令,更新版本号。

规则:对于"version":"x.y.z"

  • 修复 bug 或小改动,增加 z
  • 增加了新特性,但仍能向后兼容,增加 y
  • 有很大的改动,无法向后兼容,增加 x
  • 运行以下命令重新发布

    复制代码
    npm publish 
  • 使用 时重新安装即可

    javascript 复制代码
    // 卸载之前安装的包
    npm uninstall 'npm包名'
    
    // 重新安装
    npm install 'npm包名'

注意事项

以上步骤应该能够帮助你成功发布自己的npm包。请确保在发布前认真测试和验证你的代码,以确保其他开发者能够无缝地使用你的包。

  • 在每次发布前确保测试通过,代码无误。
  • 避免频繁发布小版本号,遵循语义化版本规范。
  • 避免删除已发布的版本,可以发布的版本,但不建议删除已经有人使用的版本,因为这可能会破坏其他用户的依赖。
  • 如果你发布的是一个公共包,确保包名没有被其他用户占用。可以在 npm官网 上搜索包名来检查。
  • 如果你的包是一个重要的项目,考虑添加文档、示例代码等,使其他人更容易使用你的包。
  • 当你发布一个新版本时,不仅仅是代码变更,还需要更新 CHANGELOG 文件,向用户提供新版本的改动信息。
相关推荐
乌兰麦朵12 分钟前
Vue吹的颅内高潮,全靠选择性失明和 .value 的PUA!
前端·vue.js
Code季风13 分钟前
Gin Web 层集成 Viper 配置文件和 Zap 日志文件指南(下)
前端·微服务·架构·go·gin
蓝倾13 分钟前
如何使用API接口实现淘宝商品上下架监控?
前端·后端·api
舂春儿14 分钟前
如何快速统计项目代码行数
前端·后端
毛茸茸15 分钟前
⚡ 从浏览器到编辑器只需1秒,这个React定位工具改变了我的开发方式
前端
Pedantic15 分钟前
我们什么时候应该使用协议继承?——Swift 协议继承的应用与思
前端·后端
Software攻城狮16 分钟前
vite打包的简单配置
前端
Codebee16 分钟前
如何利用OneCode注解驱动,快速训练一个私有的AI代码助手
前端·后端·面试
流星稍逝17 分钟前
用vue3的写法结合uniapp在微信小程序中实现图片压缩、调整分辨率、做缩略图功能
前端·vue.js
知了一笑20 分钟前
独立开发问题记录-margin塌陷
前端