畢竟影響程式執行成功或失敗的變數太多了,不管是在開發、測試時,都很常遇到「在我的電腦看起來正常,你的電腦怎麼不行?!」然後找不出到底是哪裡出了問題???
如果以過去比較熟悉的網頁技術來說,同樣一句 CSS 語法,在 Chrome、Safari、IE 上呈現的結果都會不一樣,也遇過同一份 CSS,同樣的 iPhone 手機型號,但是跑出來的結果不一樣,最後發現是 iOS 版本不同...所以就需要盡可能減少專案執行時的環境變因!
每個專案因為年代背景不同,在開發時選用的套件、環境版本也會不同,假如以 NodeJS 版本選擇來說,長遠、穩定的專案會使用 LTS(Long-term Support);想嘗試新功能、快速的專案可能會選擇 Current(Latest Features),但我們的電腦從終端機下載 NodeJS 只會有一個版本,Docker 虛擬機就可以依據不同專案,設定個別的環境,本機的專案之間不會相互渲染。
參考來源:
https://nodejs.org/en/about/releases/