如何发布自己的 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 文件,向用户提供新版本的改动信息。
相关推荐
m0_748230941 小时前
Redis 通用命令
前端·redis·bootstrap
YaHuiLiang1 小时前
一切的根本都是前端“娱乐圈化”
前端·javascript·代码规范
浪九天2 小时前
node.js的常用指令
node.js
ObjectX前端实验室3 小时前
个人网站开发记录-引流公众号 & 谷歌分析 & 谷歌广告 & GTM
前端·程序员·开源
CL_IN3 小时前
企业数据集成:实现高效调拨出库自动化
java·前端·自动化
浪九天4 小时前
Vue 不同大版本与 Node.js 版本匹配的详细参数
前端·vue.js·node.js
qianmoQ5 小时前
第五章:工程化实践 - 第三节 - Tailwind CSS 大型项目最佳实践
前端·css
椰果uu5 小时前
前端八股万文总结——JS+ES6
前端·javascript·es6
微wx笑5 小时前
chrome扩展程序如何实现国际化
前端·chrome
~废弃回忆 �༄5 小时前
CSS中伪类选择器
前端·javascript·css·css中伪类选择器