捨棄 create-react-app 之餘還架了個 astro blog 昭告天下:設定 package.json
今天是捨棄 create-react-app template 的第一天。面對全新全空的專案資料夾,首先從設定 package.json 開始。
提示:本次鐵人賽關於 package.json 的設定內容,基本上都是根據過去開發經驗累積出來的結論,一定包含主觀內容。我的設定內容歡迎你參考,但如果有讓你感覺疑惑、或是「這樣寫根本弄錯了吧?」的部分,也非常歡迎留言討論 (`・ω・´)
本文
設定 name 與 version
首先設定專案名稱(name)與版本(version)資訊。另外在專案沒有要作為套件發佈到 npm 時,設定為 private: true
{
"name": "ithome-2023",
"version": "1.0.0",
"private": true
}
個人習慣開場時直接將版號設定為 1.0.0
,代表在專案正式上線之前的更動都不會納入版號計算中。
而針對上線後的版號跳號,規則如下(基本等同 npm Docs 的做法):
- 直接修正正式站(master branch)的錯誤時,進最小版號,比如
1.0.0
變為1.0.1
- 遵循通常的新功能發布流程時,進中間版號,比如
1.0.0
變為1.1.0
- 整個專案有架構上的打掉重練、外觀完全翻修等大規模的改動時,改最大版號,比如
1.0.0
變為2.0.0
指定環境版本
透過 engines
node
鍵值可以指定「本專案使用的 JavaScript 環境版本」資訊:
{
"name": "ithome-2023",
"version": "1.0.0",
"private": true,
"engines": {
"node": "20"
}
}
撰文當下最新的長期支援(LTS, Long-term support)版本為 Node.js 20(參考官方網站)。除非有特殊需求、或是專案使用的套件有額外限制,不然會盡量讓專案的開發環境能搭上官方最新的長期支援版本。
可直接在終端輸入 node -v
來確認現在的環境版本為何。而當目前的環境與專案開發指定的版本不一致時,可透過版本管理器(Version Manager)來依照需求切換環境版本。
使用版本管理器切換環境
常見的 Node.js 版本管理器為 nvm
。安裝完畢、移動到目的地資料夾時,只要該資料夾內有 .nvmrc
檔案,於終端執行 nvm use
後,即會將環境切換到 .nvmrc
指定的版本。
以上是簡化非常多的說明,完整的安裝與工具操作指南請參考官方文件。
給真的沒空讀完官方文件的人的 take away:可以將 nvm
設定成「移動到資料夾時,自動偵測 .nvmrc
並切換至對應的 Node.js 版本」,自動指令請從官方說明複製,並根據你的終端使用 bash
zsh
或 fish
在檔案 $HOME/.zshrc
中貼上不同內容。
除了 nvm
以外,個人最近也有嘗試使用 Rust 撰寫的 fnm,速度飛快,體驗極度良好,且也支援自動偵測+切換。有興趣的朋友可以給個機會 (ゝ ∀・)
記得存擋
現在資料夾裡有些東西了,如果你還沒 git init
的話,現在差不多可以開始存檔了。
總結
本日重點回顧:能根據套件修改內容來更新合適版號,並且能透過 engines
node
來指定專案的 Node.js 環境版本。還有記得存檔(git
)。