Nodejs項(xiàng)目打包部署兩種方式總結(jié)
方式一:PM2
一、準(zhǔn)備工作
- 確保服務(wù)器上已安裝 Node.js 環(huán)境
- 建議使用 PM2 進(jìn)行進(jìn)程管理(需要額外安裝)
二、部署步驟
1.首先在服務(wù)器上安裝 PM2(推薦):
npm install -g pm2
2.將項(xiàng)目代碼上傳到服務(wù)器,可以使用 Git 克隆:
git clone https://gitee.com/gaozm_git/nodejs-api.git cd nodejs-api
3.安裝項(xiàng)目依賴:
npm install
4.使用 PM2 啟動項(xiàng)目:
pm2 start server.js --name "seek-api"
三、環(huán)境變量配置
- 確保在服務(wù)器上正確配置了 .env 文件
- 包含所有必要的環(huán)境變量(如數(shù)據(jù)庫連接、API密鑰等)
四、常用 PM2 命令:
# 查看運(yùn)行狀態(tài) pm2 status # 查看日志 pm2 logs seek-api # 重啟應(yīng)用 pm2 restart seek-api # 停止應(yīng)用 pm2 stop seek-api
這樣就是運(yùn)行成功了

方式二:pkg(目前支持nodejs版本是18的,18以上不支持)
一.首先安裝 pkg
npm install -g pkg
二、在 package.json 中添加打包配置
{
"bin": "server.js",
"pkg": {
"assets": [
"node_modules/**/*",
"routes/**/*",
"config/**/*",
"utils/**/*",
"middleware/**/*"
],
"targets": [
"node18-win-x64",
"node18-linux-x64",
"node18-macos-x64"
]
},
"scripts": {
"build": "pkg ."
},
// ... existing code ...

三、現(xiàn)在您可以使用以下命令進(jìn)行打包
npm run build
打包后會在項(xiàng)目根目錄生成三個可執(zhí)行文件:
seek-api-win.exe (Windows)
seek-api-linux (Linux)
seek-api-macos (macOS)
注意事項(xiàng):
- 打包后的文件會比較大,因?yàn)樗?Node.js 運(yùn)行時
- 某些原生模塊可能需要特殊處理
- 環(huán)境變量和配置文件需要單獨(dú)處理
- 建議在目標(biāo)平臺上進(jìn)行打包
使用打包后的文件:
- 將生成的可執(zhí)行文件復(fù)制到目標(biāo)服務(wù)器
- 確保配置文件(如 .env)也復(fù)制到相應(yīng)位置
- 直接運(yùn)行可執(zhí)行文件即可:
npm run build
總結(jié)
到此這篇關(guān)于Nodejs項(xiàng)目打包部署兩種方式總結(jié)的文章就介紹到這了,更多相關(guān)Nodejs項(xiàng)目打包部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
輕松創(chuàng)建nodejs服務(wù)器(10):處理POST請求
這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(10):處理POST請求,本文告訴你如何實(shí)現(xiàn)在node.js中處理POST請求,需要的朋友可以參考下2014-12-12
VSCode通過Ctrl+P快速打開node_modules中的文件的操作方法
由于node_modules目錄包含的文件太多,在VSCode中默認(rèn)情況下是禁止搜索node_modules目錄的,在這種情況下,我們將不得不依次展開node_modules的文件目錄樹,來查找我們所需要的文件,接下來介紹VSCode如何通過Ctrl+P快速打開node_modules中的文件,需要的朋友可以參考下2023-07-07
如何將Node.js中的回調(diào)轉(zhuǎn)換為Promise
這篇文章主要給大家介紹了關(guān)于如何將Node.js中的回調(diào)轉(zhuǎn)換為Promise的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
使用upstart把nodejs應(yīng)用封裝為系統(tǒng)服務(wù)實(shí)例
這篇文章主要介紹了使用upstart把nodejs應(yīng)用封裝為系統(tǒng)服務(wù)實(shí)例,需要的朋友可以參考下2014-06-06
Node.js中防止錯誤導(dǎo)致的進(jìn)程阻塞的方法
這篇文章主要介紹了Node.js中防止錯誤導(dǎo)致的進(jìn)程阻塞的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-08-08

