如何发布及管理npm包

执行npm publish发布包

使用以下命令登陆npm账号,执行命令之后输入用户名、密码即可完成登陆操作

bash 复制代码
npm login

登陆之后就是发布环节,在项目发布之前最好再检查下package.json配置文件,确保name字段没有问题(要发布的包名需要唯一,否则发布将不成功),且version字段是最新的。keywords字段最好认真填写,因为keywords是开发的程序的标签,直接影响到开发的程序被其他程序员检索到的次数,也就是说这是一个和曝光量息息相关的字段。经过检查配置信息没有问题就可以进入项目根目录,使用以下命令发布

bash 复制代码
npm publish

发布之后,登录npm官网,搜索发布的包名,确保包已经成功发布并可见

版本更新与维护

在开发过程中,版本号的更新是很重要的。版本号可以帮助用户和开发者了解软件的更新状态和内容。版本号的命名原则遵循Semantic Versioning规范,通常由主版本号、次版本号和修订号组成,例如1.2.3。

更新版本号又分为手动更新和自动更新,手动更新操作就比较傻瓜一点,直接打开项目的package.json文件手动更新version字段。自动更新则是通过命令行方法更新,可以直接使用npm version命令更新,如下操作。也可以使用standard-version这样的工具根据提交的commit信息自动更新版本号

bash 复制代码
# 自动更新补丁版本号
npm version patch

# 自动更新次版本号
npm version minor

# 自动更新主版本号
npm version major

这些命令会自动更新package.json中的版本号,并创建一个新的Git提交和标签。更新版本号之后重新执行npm publish命令发布即可。

版本更新与维护过程中还有一个环节也很重要,就是README.md、CHANGELOG.md、API文档等文档信息的更新。及时更新这些文档信息可以帮助用户更好的理解软件的新功能、变更和修复。
README.md:添加新功能的描述、使用示例和任何重要的变更说明。
CHANGELOG.md:记录每个版本的变更内容,有助于用户了解每个版本的更新细节。如果想让其他程序员一起参与维护该项目,这个文件也是其他参与者上手的说明书。
API文档:如果插件有API文档,确保所有API的变更都被记录和更新

CHANGELOG.md文件格式如下:

bash 复制代码
# Changelog

## [1.1.0] - 2023-01-01
### Added
- Added a new feature that improves performance.

## [1.0.0] - 2022-12-01
### Added
- Initial release of the plugin.

管理多个注册表账户和私有包

如果需要管理多个npm注册表账户,或者发布私有npm包。则可以使用下面的方法来满足需求。

多用户管理时,可以通过创建多个.npmrc文件来管理不同的npm注册表账户。如,在项目根目录下创建一个名为.npmrc.private的文件,用于配置私有包的发布:

bash 复制代码
registry=<https://registry.npmjs.com/> //registry.npmjs.com/:\_authToken=your-private-token

发布时,只需切换到该配置文件即可:

bash 复制代码
npm --registry=<https://registry.npmjs.com/> --userconfig=.npmrc.private publish

发布私有包时,需要先在npm官网上创建一个组织,并设置相应的权限。然后在发布时,使用组织的命名空间来发布包,这样发布的包就只能被组织内的成员访问:

bash 复制代码
npm publish --access=restricted
相关推荐
IT_陈寒1 小时前
SpringBoot自动配置坑了我一把,原来是这样绕过去的
前端·人工智能·后端
广州华水科技1 小时前
单北斗GNSS变形监测在大坝安全监测中的应用与优势
前端
zeng不错1 小时前
B站 173 个投稿活动看到眼瞎?我写了个扩展,主打一个精准打击
前端
Latchh1 小时前
前端导出的JPEG红字发糊,质量要拉到100才清楚
前端·图像处理·人工智能·计算机视觉
默_笙2 小时前
🚦 请三个 AI 考官给 RAG 打分:量化评估实战(下)
前端·javascript
Joy T2 小时前
聊天系统中五大ID的演进与实战解析
java·前端·人工智能·spring·agent入门
Seraphina364 小时前
DVWA(SQL注入-low,medium,XSS反射-low)
前端·数据库·笔记·sql·网络安全·web·xss
Access开发易登软件4 小时前
Access 导入 Markdown 表格:把文档里的数据写进表
前端·html·vba·markdown·access开发
扶风ff4 小时前
求职笔试资料太散?用练题簿在线刷题,按岗位整理练习清单
前端·学习·小程序
浪浪山_大橙子4 小时前
公司里的 AI,终于不只会聊天:我用 GPT‑6 把企业工作伙伴开源了
前端·后端·面试