對於 nuxt 項目,一般採用官方提供的 create-nuxt-app 腳手架,具體過程 https://zh.nuxtjs.org/guide/installation/ 。
- 在實際開發中一般使用
npm run dev
其本地服務進行開發 - 發佈部署的時候首先需要
npm run build
(相當於nuxt build
) 利用webpack編譯應用,壓縮JS和CSS資源 - 之後將文件上傳到指定的服務器
- 需要
npm run start
(相當於cross-env NODE_ENV=production node server/index.js
)
對第4步進行說明,如果使用了 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)。 |
至於 cross-env 是運行跨平臺設置和使用環境變量的腳本。
當我們以對應服務啓動生產模式的 nuxt 項目的時候,可以正常訪問(我這裏都是採用 nginx 配置的代理),但是當我們關閉命令行窗口的時候,服務也就關閉了,所以這個時候我們需要使用 pm2 。
使用 pm2 啓動 nuxt 項目:
- 先到服務器項目的根目錄下
pm2 start npm --name "name" -- run start
對第2步進行說明,這裏設置的 name 之後可以在 pm2 list
進行查看,並且之後可以通過 pm2 start name
或 pm2 stop name
對服務進行開關。
pm2 常用的命令行:
# 查看當前正在運行的進程
pm2 list
# 啓動所有應用
pm2 start id|name|all
# 重啓所有應用
pm2 restart id|name|all
# 停止所有的應用程序
pm2 stop id|name|all
# 關閉並刪除所有應用
pm2 delete id|name|all
# 控制檯顯示所有日誌
pm2 logs
# 控制檯顯示指定編號的日誌
pm2 logs id
# 查看信息
pm2 show id|name
# 顯示每個應用程序的CPU和內存佔用情況
pm2 monit