功能说明
按语义化版本优先级比较两个版本号:数字段按数值比较,预发布版本排在其正式版本之前。构建元数据不参与优先级比较,这正是规范要求、也是常见分歧点。
运行命令
node semver.mjs 1.2.3-alpha 1.2.3
node semver.mjs 2.0.0 1.9.9
预期输出
预发布版本应小于其正式版本,2.0.0 应大于 1.9.9,输出为:
1.2.3-alpha < 1.2.3
2.0.0 > 1.9.9
限制
仅实现优先级比较,不支持范围表达式与插入符/波浪号(^ / ~)算子;范围匹配是更大的工作量。
上述代码与预期输出严格对应,可在本地按运行命令复现并逐项核对。当前实现覆盖了最常见的使用路径,超出上文限制所述边界的场景需要额外的设计与实现。若要在生产环境使用,建议先补充输入校验、错误处理与日志,再结合自身环境调整依赖版本。
本译文由 AI 依据英文原文完整重写,包含功能说明、运行方式与真实预期输出,供中文读者对照英文原稿阅读。