使用 npm version 幫你的 js 程式打版號

Hyman Chen
Hybrid Maker
Published in
3 min readDec 5, 2018

剛接觸程式設計的時候歡天喜地的幫自己剛寫好的程式命名了第一個版本號 v12.0 ,後來才發現自己多傻,竟然沒有好好了解怎麼打版號,直到現在又發現自己多傻,竟然不會用 npm version 自動打版號…

先介紹一下JS圈主流的版本命名方式

通常我們定義版本會用3個數字來定義 1.23.456 像是這樣3個數字,最前面的 1 代表主版號23 代表次版號456 代表修訂號

假設你今天寫好了一個穩定的工具集,裡面有一些模組可以給別人使用,我們會定義初始版本號為 1.0.0 作為一個美麗的開始。

當你又多寫了一個模組加入這個工具集,功能上的提升,不會影響到原本的使用方式,我們就可以增加次版號變成 1.1.0

當使用者回報你有功能故障,你修正了之後,我們會增加修訂號變成 1.1.1

如果今天你有把一些功能砍掉或是改版,原本的使用方式改變了,那就要往前進一個主版號了也就是變成 2.0.0

怎麼用 npm version 自動打版號?

一開始用 npm init 指令建立 package.json 之後會紀錄如下,當然別忘記使用 git init 將專案資料夾列入版控。

{
"name": "npm_version_tut",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}

隨著專案的推進,我們可能寫了一些模組

我們想要進次版號了,就可以透過 npm 的指令輸入

npm version minor

這時後 npm 就會自動幫我們的 package.json 版本提升次版號,並且幫我們的 git 打 tag

我們可能會修正 bug 就會輸入

npm version patch

如果要提升主版號就可以輸入

npm version major

總結

使用 npm version 打版號很方便,除了我講的3個參數指令之外 npm version 還有其他的參數可以下。版本命名這個議題除了我貼的語意式命名之外還有很多種方式,像是我有遇過公司用日期來當作版本號的。

--

--