# 虎年行大運 ~ NodeJS 學習 - NVM、Yarn、Node 環境安裝 ## 【前言】 最近因緣際會碰了 NodeJS 這一塊完全沒有經驗的領域,趁機學習如何建置NVM、NPM、Node 環境,並嘗試用知名的 Express 框架建立 API。 這邊連動的 DB 是 Firebase,一款 Google 非常知名的雲端資料倉儲服務,其實也已經支援非常多功能了,因此就瞬邊碰碰當作經驗。 ## 【NVM 安裝】 **NVM** 全名 **Node Version Manager** 即為 Node 版本控制,這會與將要使用哪一種版本的 NodeJS 進行開發完全相關,也因為 NPM 逐漸被 Yarn 取代了,因此這裡不會介紹如何安裝 NPM 的部分。 [NVM Github](https://github.com/nvm-sh/nvm) 請到上述連結進行相關環境的 NVM 檔案下載,Kai 因為是用 Windows 環境進行開發,因此另外提供適用於 Windows 的連結在此 [NVM for Windows](https://github.com/coreybutler/nvm-windows/releases) 安裝好後,可以在終端機透過以下指令確認相關訊息 ``` nvm ```  > 圖示就是 NVM 環境安裝好的 > 若無法取得相同結果,請檢查 > 1. 環境參數是否有正確設置 > 2. 嘗試用系統管理者權限開啟終端機 > 3. 又或者是安裝在非 C 槽環境的話,記得去 /nvm/settings.txt 將內容改成以下 > ``` > root: D:nvm > path: D:\nvm\nodejs > ``` > 這樣環境指令才能正確抓到哦! 可以透過以下指令進行 NVM 的控制 | Command | Info | | ------- | ---- | | nvm ls-remote | 會列出目前可以下載的 NodeJS 版本 | | nvm install [version] | 下載安裝 NodeJS,若無輸入 version 則會下載最新的版本 | | nvm ls | 列出本地端安裝過的 NodeJS 版本 | | nvm use [version] | 設定使用的 NodeJS 版本 | | nvm current | 顯示目前使用的 NodeJS 版本 | ## 【Yarn】 裝好 NodeJS 的時候,其實會連同 NPM 一起裝好,但 Kai 不打算使用 NPM 協助處理套件的版本管理,因此在開好任何一個 NodeJS 專案後,在專案本地端的終端機使用以下指令進行安裝 ``` npm install yarn [--g] ``` > 要不要使用 --g 裝成 Global 就看各位選擇了 未來所有的套件都可以使用 Yarn 進行處理,這時候原先採用 NPM 的檔案 **package-lock.json** 就可以刪掉改成只使用 **yarn.lock** 了 那到底 Yarn 與 NPM 差異在哪裡? 為什麼要改用 Yarn 而非沿用 NPM 就好? Yarn 是一個比 NPM 更專門的 Package 管理服務,避免了 NPM 管理會日益肥大的問題,並有著更安全的處理模式,避免危險程式碼侵入,同時也提供更加簡單易懂的指令集。 以下分享兩者常用的指令差異 |Yarn|NPM|Info| |----|----|----| | yarn install | npm install | 下載所有依賴,若無輸入則會將 package.json 全數下載 | | yarn add [package] | npm install --save [package] | 下載特定依賴,並儲存在 package.json 中的 dependecies | | yarn add [package] --dev | npm install --save-dev [package] | 下載特定依賴,並儲存在 package.json 中的 devDependecies | | yarn global add [package] | npm install --global [package] | 下載特定依賴,並儲存在電腦全域 | | | npm uninstall | 移除所有套件,Yarn 不支援移除所有套件功能 | | yarn remove [package] | npm uninstall --save [package] | 移除特定套件 | | yarn upgrade | rm -rf node_modules && npm install | 更新 node_modules | ## 【建立 Node Express 專案】 在建立 Express 專案的時候,可能還是要先透過 NPM 進行。 ``` // 下載 Express 套件 npm install express-generator // 建置專案 express --view=ejs [Project Name] ``` 創建後 Express 的檔案結構如下,其中 index.js 和 users.js 是預設的兩個 API 服務內容,讓新手可以快速理解如何架設 API 服務。 ``` ├── app.js ├── bin │ └── www ├── package.json ├── public │ ├── images │ ├── javascripts │ └── stylesheets │ └── style.css ├── routes │ ├── index.js │ └── users.js └── views ├── error.ejs └── index.ejs ``` 此時可以透過 Yarn 進行 NodeJS API 服務的啟動 ``` yarn start ``` 這個指令設立在 package.json 中,會建議加上以下 dev-start 這一條 ``` "scripts": { "start": "node ./bin/www", "dev-start": "set DEBUG=[Project Name]:* & yarn start" } ``` 這樣未來就可以使用以下指令啟動開發者模式測試了 ``` yarn dev-start ``` ## 【結語】 是第一次碰 NodeJS 系列的開發,非常新鮮,後續有學到不同的東西再寫上來分享。 首頁 [Kai 個人技術 Hackmd](/2G-RoB0QTrKzkftH2uLueA) ###### tags: `NodeJS`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up