一、命令
(1)常用命令
| 命令 | 描述 |
| nuxt | 啟動一個熱加載的Web服務器(開發模式) localhost:3000。 |
| nuxt build | 利用webpack編譯應用,壓縮JS和CSS資源(發布用)。 |
| nuxt start | 以生產模式啟動一個Web服務器 (需要先執行nuxt build)。 |
| nuxt generate | 編譯應用,並依據路由配置生成對應的HTML文件 (用於靜態站點的部署)。 |
如果使用了 Koa/Express 等 Node.js Web 開發框架,並使用了 Nuxt 作為中間件,可以自定義 Web 服務器的啟動入口:
| 命令 | 描述 |
| NODE_ENV=development nodemon server/index.js | 啟動一個熱加載的自定義 Web 服務器(開發模式)。 |
| NODE_ENV=production node server/index.js | 以生產模式啟動一個自定義 Web 服務器 (需要先執行 nuxt build)。 |
(2)常見參數
--config-file或-c: 指定nuxt.config.js的文件路徑。--spa或-s: 禁用服務器端渲染,使用SPA模式--unix-socket或-n: 指定UNIX Socket的路徑。
(3)配置命令
將命令添加至 package.json文件:
"scripts": { "dev": "nuxt", "build": "nuxt build", "start": "nuxt start", "generate": "nuxt generate" }
(4)運行命令
通過 npm run <command> 來執行相應的命令。如: npm run dev。
二、部署
Nuxt.js 提供了兩種發布部署應用的方式:服務端渲染應用部署和靜態應用部署。
(1)服務端渲染應用部署
部署 Nuxt.js 服務端渲染的應用不能直接使用 nuxt 命令,而應該先進行編譯構建,然后再啟動 Nuxt 服務。
建議將 .nuxt 加入 .npmignore 和 .gitignore 文件中。
(2)靜態應用部署
Nuxt.js 可依據路由配置將應用靜態化,使得我們可以將應用部署至任何一個靜態站點主機服務商。npm run generate命令生成應用的靜態目錄和文件,這個命令會創建一個 dist 文件夾,所有靜態化后的資源文件均在其中。此外,generate也支持動態路由。
使用 nuxt generate 靜態化應用的時候, 傳給 asyncData() 和 fetch() 方法的上下文對象 不會包含 req 和 res 兩個屬性。
(3)單頁面應用程序部署 (SPA)
nuxt generate 在 build/generate 時間內仍然需要SSR引擎,同時具有預渲染所有頁面的優勢,並具有較高的SEO優化和頁面加載能力。內容在構建時生成。使用時啟用SPA模式 mode: 'spa' 或 --spa,並且我們運行打包,生成在導報后自動啟動,生成包含常見的meta和資源鏈接,但不包含頁面內容。
對於SPA部署,必須執行以下操作:
- 將
nuxt.config.js中的mode更改為spa。 - 運行
npm run build. - 自動生成
dist/文件夾,部署到您的服務器,如Surge,GitHub Pages或nginx。
另一種可能的部署方法是在spa模式下將Nuxt用作框架中的中間件。這有助於減少服務器負載,並在無法進行SSR的項目中使用Nuxt。
