# 前言 這篇文章是我在 2023 iTHome 鐵人賽看到 Ryan 大大 寫的 [Nuxt 3 實戰筆記 系列](https://ithelp.ithome.com.tw/users/20152617/ironman/6959) 文章做的一個紀錄,我之前也都有看到發表Nuxt 相關的文章,寫得都很用心仔細很值得跟著練習,我覺得最特別的是 Nuxt 新的 DevTools功能 # Nuxt CLI 指令 nuxi 全名為 (Nuxt CLI, Nuxt Command Line Interface),是由 Nuxt 提供開發的標準工具,Nuxt CLI 就像是 Vue CLI 可以建立 Vue 專案,我們當然也就可以使用 Nuxt CLI 來建立 Nuxt 的專案。 # 環境準備 環境準備流程如下,通常主要會用到的nuxi 指令也是這幾個 清除 npx 快取 建立 Nuxt 專案 檢查專案相關資訊 升級 Nuxt 3 版本 啟動開發伺服器 清除自動產生的 Nuxt 檔案和快取 產生靜態網站使用的預渲染 打包專案建構生產環境需要的程式包 預覽網站 開發工具 Nuxt DevTools 更多完整的指令與用法可以參考[官方文件](https://nuxt.com/docs/api/commands/init)。 ## 清除 npx 快取 - clear-npx-cache ``` npx clear-npx-cache ``` ![image](https://hackmd.io/_uploads/Syy08m_8T.png) 當一切準備就緒後,你可以執行下列指令,它將會安裝最新版本的 Nuxt CLI 並執行 --help 來看相關說明。 ``` npx nuxi@latest --help ``` 如果你有看到如下圖的相關指令說明,就代表你安裝成功囉! ![image](https://hackmd.io/_uploads/HJsbvQ_UT.png) ## 使用 nuxi 建立 Nuxt 專案與啟動開發伺服器 如果你第一次使用 Nuxt 3,依據官網的範例,你可以在終端機執行下列指令,就能開始建立 Nuxt 的專案: ``` npx nuxi@latest init nuxt-app ``` ![image](https://hackmd.io/_uploads/B1bpPX_U6.png) > 建立的過程 這邊首先會問 Which package manager would you like to use? 選擇 npm Are you interested in participating? 操作完成之後會告訴你接下來如何開啟專案 ✨ Nuxt project has been created with the v3 template. Next steps: › cd nuxt-app › Start development server with npm run dev 當你在開發時,可以在專案資料夾內執行下列指令來啟動開發伺服器: ``` npm run dev ``` 上述指令,實際上是執行 package.json 中的 scripts 所定義的 dev 對應腳本指令如下: ``` nuxt dev ``` 其實也等同於你在專案目錄下執行: ``` npx nuxi dev ``` nuxi 不僅在啟動開發伺服器與部署編譯上需要使用,開發的過程中,也還有許多不同的指令與參數可以操作使用,以幫助我們開發 Nuxt 專案上的使用。 ## 檢查 Nuxt 專案相關資訊 -info ``` npx nuxi info ``` ![image](https://hackmd.io/_uploads/HydWK7OIp.png) ## 升級 Nuxt 3 版本 -upgrade ``` npx nuxi upgrade ``` 這個指令可以用來將目前專案的 Nuxt 3 升級至最新的版本,如果有一些可能行為調整或不相容的情況,可以再依據實際情境搭配 -f, --force 參數來強制更新。 ![image](https://hackmd.io/_uploads/By8Qh7OLp.png) ## 啟動開發伺服器 - run dev 一個新建立的 Nuxt 專案,當你要啟動開發伺服器,你可以使用下面的指令: ``` npm run dev # 或 npx nuxi dev ``` Nuxt 的 Nitro 就會幫我們啟動開發伺服器,並監聽 Port: 3000。 ![image](https://hackmd.io/_uploads/BJSPKmdI6.png) ### --port, -p 設定監聽Port 預設監聽 Port: 3000,若因為衝突或有需要做調整可以使用這個參數 ``` npm run dev -- -p 5173 # 等價 npx nuxi dev -p 5173 ``` >使用 npm 執行 scripts,可以加上兩個減號 -- 以添加腳本指令後的參數。 ### --host, -h 設定 伺服器主機名稱 預設伺服器主機名稱為 localhost,若因為一些跨域或驗證等開發需求,也可以調整 ### --open, -o 設定 開啟瀏覽器 當開發伺服器啟動時,開啟瀏覽器並導向到開發的網址。 ### --https 設定 啟用https 在開發時若有一些驗證或請求需要 HTTPS,也可以使用這個參數來啟用 HTTPS,預設情況也含有自簽名的 SSL 證書。 ![image](https://hackmd.io/_uploads/rJkfi7dIa.png) ## 清除自動產生的 Nuxt 檔案和快取 -cleanup ``` npx nuxi cleanup ``` Nuxt 3 在啟動開發伺服器後,會自動建立 .nuxt 目錄與產生相關的檔案或 TypeScript 使用的類型,建構專案或產生靜態網站時也會建立 .output 或 dist 目錄等,我們可以使用指令來清除這些自動產生的檔案和快取。 ### 刪除的目錄包含如下: * .nuxt * .output * dist * node_modules/.vite * node_modules/.cache ## 產生靜態網站使用的預渲染 -generate ``` npx nuxi generate ``` 我們可以使用以下指令來預渲染專案中的每個路由路徑,並將其結果儲存在純 HTML 當中,其產生的檔案會建立在 .output/public 與 dist 目錄,兩個目錄的檔案內容是一樣的,你可以選擇使用 .output/public 作為靜態網站的部署。 ![image](https://hackmd.io/_uploads/BJ9vh7_UT.png) ## 打包專案建構生產環境需要的程式包 -build ``` npx nuxi build ``` 當專案開發到一個階段要準備部署時,你會需要打包並建構生產環境所需要的程式,你可以使用以下指令來編譯建構。 ![image](https://hackmd.io/_uploads/r10chQOLa.png) 這個指令會建立一個 .output 目錄,其中包含所有應用程式、伺服器與依賴配置,你可以將此目錄作為生產環境使用的目錄進行服務部署。 ## 預覽網站 -preview 當使用 nuxi build 專案打包建構完成後,你可以使用下 preview 指令來啟動伺服器,預覽你的 Nuxt 網站。 ``` npx nuxi preview ``` ![image](https://hackmd.io/_uploads/BkT9pQd86.png) ## 開發工具 Nuxt DevTools ``` npx nuxi devtools enable ``` 透過最新版本 Nuxt CLI 建置的 Nuxt 3 專案已經將 Nuxt DevTools 預置在 Nuxt 專案中並預設為啟用,如果你的專案的 Nuxt 3 版本還比較舊,可以手動安裝 Nuxt DevTools,或使用以下指令來配置。 ![image](https://hackmd.io/_uploads/ByJT67uUT.png) ### 關閉 Nuxt DevTools ``` npx nuxi devtools disable ``` 如果你想要關閉 Nuxt DevTools,可以使用以下指令來關閉,它會提示您是否要將 ./nuxt.config.ts 檔案內的 devtools.enabled 設定為 false 來關閉 DevTools。 # 參考來源: https://ithelp.ithome.com.tw/users/20152617/ironman/6959 https://nuxt.com/docs/api/commands/init