首页
/ Modern.js 模块项目的版本管理与发布指南

Modern.js 模块项目的版本管理与发布指南

2025-07-08 05:36:35作者:胡唯隽

前言

在现代前端开发中,良好的版本管理和发布流程是保证项目质量的重要环节。Modern.js 为模块项目提供了一套完整的版本管理和发布解决方案,本文将详细介绍如何使用 Modern.js 提供的工具链进行项目版本管理和发布。

版本管理与发布流程概述

Modern.js 模块项目的发布流程分为两个主要阶段:

  1. 开发阶段:开发者需要记录项目变更,生成变更日志文件
  2. 发布阶段:收集所有变更日志,更新版本号,生成发布日志,并发布新包

详细操作指南

1. 记录项目变更

在开发过程中,每当项目发生重要变更时(如新增功能、修复问题、配置文件变更等),都应该记录这些变更。

使用以下命令记录变更:

npx modern change

执行命令后,系统会交互式询问几个问题:

  • 变更类型(如 patch、minor、major)
  • 变更摘要(将出现在变更日志中)

成功执行后,会在项目的 .changeset 目录下生成一个 Markdown 格式的变更日志文件,内容示例如下:

---
"module-example": patch
---

publish test

2. 版本号更新

当需要更新项目版本时,执行以下命令:

npx modern bump

该命令会根据 .changeset/ 目录下的变更记录文件:

  1. 更新 package.json 中的版本号
  2. 生成 CHANGELOG.md 文件
  3. 删除已处理的变更记录文件(这些文件被"消耗")

生成的 CHANGELOG.md 文件示例:

# module

## 0.1.1

### Patch Changes

- publish test

3. 项目发布

要发布项目到 npm 仓库,执行以下命令:

npx modern release

默认情况下,发布的是 latest 版本(正式版)。如果需要指定不同的发布标签(dist-tag),可以使用:

npx modern release --tag beta

4. 预发布流程

在某些情况下,我们可能需要先发布预发布版本(如 alpha、beta、rc 版本),Modern.js 也提供了相应的支持。

进入预发布模式

npx modern pre enter next

这里的 next 是预发布标签,可以根据需要替换为 alphabeta 等。

更新预发布版本号

npx modern bump

此时,package.json 中的版本号会变为类似 0.1.2-next.0 的形式。

注意:在预发布模式下,变更记录文件不会被"消耗",可以保留用于后续正式发布。

退出预发布模式

当不再需要预发布时,务必执行以下命令退出预发布状态:

npx modern pre exit

退出后,再次执行 modern bump 将会生成正式版本。

最佳实践建议

  1. 及时记录变更:建议在完成每个功能或修复后立即记录变更,避免遗漏
  2. 语义化版本控制:遵循语义化版本规范(SemVer)选择适当的变更类型(patch/minor/major)
  3. 预发布验证:对于重要更新,建议先发布预发布版本进行充分测试
  4. 清晰的变更描述:在记录变更时提供清晰、具体的描述,方便生成有意义的变更日志

常见问题解答

Q: 如果误操作进入了预发布模式怎么办? A: 执行 npx modern pre exit 即可退出预发布模式。

Q: 变更记录文件可以手动编辑吗? A: 可以,变更记录文件是标准的 Markdown 文件,可以根据需要手动编辑。

Q: 为什么有时候执行 modern bump 后变更记录文件没有被删除? A: 在预发布模式下,变更记录文件不会被自动删除,这是预期行为。

通过 Modern.js 提供的这套版本管理和发布工具,开发者可以更加规范、高效地管理项目版本,确保发布流程的可靠性和可追溯性。