一、命令
(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。