如何发布自己的npm包

本文详细介绍了如何发布自己的npm包,从注册NPM账号、初始化项目、登录并发布包,到使用、更新和管理NPM包,每个步骤都提供了清晰的操作指南。在发布过程中,注意package.json的配置和版本号策略,确保模块的兼容性和可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注册NPM 账号

注册地址:www.npmjs.com/

初始化自己要发布的项目

搭建本地环境:安装node.js,包含了npm命令。 新建目录,在该目录下,初始化项目:npm init。 按照提示填写初始化信息,我的模块名称为:wr-npm-test,初始版本号:v1.0.0。 模块名称需遵循相关政策要求:www.npmjs.com/policies , 不能够与已有NPM模块名冲突等等。 模块代码 index.js:

function npmDemo(argument) {
	var name = 'wr';
	var f1 =function f(arg){console.log(arg)}
	return {
		name:name,
		f1:f1
	}
}
module.exports=npmDemo();

登录npm,发布自己的npm包
npm set registry https://registry.npmjs.org/
npm login
// 输入自己的账号、密码和邮箱
Username: ***
Password: ***
Email: (this IS public) ***
// 成功登录
Logged in as *** on https://registry.npmjs.org/

根据提示输入之前注册的账号、密码。 发布npm包:

npm publish

注意:

  1. package.json中的author要和登录npm账号的一致
  2. 项目名需要小写
  3. 在publish之前需要去邮箱验证一下账号

在这里插入图片描述
此时在自己个人的npm账号主页可以看到该包。
在这里插入图片描述

使用自己发布的包(模块)
npm install wr-npm-test

新建其它目录,初始化:npm init。 使用已发布NPM包的示例代码test.js:

var test_npm = require('wr-npm-test');
console.log(test_npm)
console.log(test_npm.f1(11));
console.log(test_npm.name)

运行示例代码:node test.js

输出:

{ name: 'wr', f1: [Function: f] }
11
undefined
wr
更新自己的NPM包(模块)及 readme文件

修改代码和readme.md后,执行命令:

npm version patch
// 或者加上-m参数来指定自定义的commit message
npm version patch -m "Upgrade to %s for reasons"

npm publish

npm version后面参数说明:

major:主版本号,破坏模块对向后的兼容性,版本号变动 v1.0.0->v2.0.0

minor:次版本号,增加新功能,不影响现有功能,版本号变动 v1.0.0->v1.1.0

patch:补丁号,比如修复bug等,版本号变动 **v1.0.0->v1.0.1

premajor:预备主版本

prepatch:预备次版本

prerelease:预发布版本

npm version功能
major- 如果没有预发布号,则直接升级一位大号,其他位都置为0
- 如果有预发布号: – 中号和小号都为0,则不升级大号,而将预发布号删掉。即2.0.0-1变成2.0.0,这就是预发布的作用
- 如果中号和小号有任意一个不是0,那边会升级一位大号,其他位都置为0,清空预发布号,即 2.0.1-0变成3.0.0
minor- 如果没有预发布号,则升级一位中号,大号不动,小号置为空
- 如果有预发布号: – 如果小号为0,则不升级中号,将预发布号去掉
- 如果小号不为0,同理没有预发布号
patch- 如果没有预发布号:直接升级小号,去掉预发布号
- 如果有预发布号:去掉预发布号,其他不动
premajor- 直接升级大号,中号和小号置为0,增加预发布号为0
preminor- 直接升级中号,小号置为0,增加预发布号为0
prepatch- 直接升级小号,增加预发布号为0
prerelease- 如果没有预发布号:增加小号,增加预发布号为0 - 如果有预发布号,则升级预发布号
版本号策略

版本号格式:主版本号**.次版本号.**修订号;

主版本号:当你做了不兼容的 API 修改;

次版本号:当你做了向后兼容的功能性新增;

修订号:当你做了向后兼容的问题修正;

处于开发阶段的项目版本号以0.Y.Z形式表示,此阶段正在开发基础功能、公众API;

版本号只能增加,禁止下降,代码的修改必须以新版本形式更新;

使用更新后的NPM包

更新NPM包

针对patch: npm install wr-npm-test
针对minor: npm install wr-npm-test
针对major: npm install wr-npm-test@2.0.0

其它内容上同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值