nodejs文件實(shí)現(xiàn)打包成exe, 并設(shè)置開(kāi)機(jī)自啟動(dòng)的方法詳解(沒(méi)有黑窗口)
nodejs打包成exe
使用node的pkg包
# 安裝pkg npm install -g pkg # 使用pkg打包, 該命令會(huì)同時(shí)編譯 linux, win, mac 版的exe pkg server.js # 只打包win版 pkg -t win server.js
如果安裝pkg后提示 pkg不是內(nèi)部命令, 重新打開(kāi)cmd窗口再試,如果還提示,則需要配置環(huán)境變量
查看 .npmrc 文件的配置信息 (默認(rèn)在C:\Users{用戶(hù)}下, 如果沒(méi)有則去 node安裝目錄下npm下查找)
查看 配置信息中的 prefix 配置路徑, 添加到環(huán)境變量, 再重啟cmd窗口
設(shè)置開(kāi)機(jī)自啟動(dòng) (一)
在打好的exe程序目錄下 創(chuàng)建bat文件
# nodejs exe路徑 call E:\sdl\server.exe
然后再創(chuàng)建 vbs文件
set ws=WScript.CreateObject("WScript.Shell")
# bat文件路徑
ws.Run "E:\sdl\nodeStart.bat",0

直接運(yùn)行 server.exe程序會(huì)出現(xiàn)黑窗口, 這樣運(yùn)行不會(huì)出現(xiàn)黑窗口
然后將vbs文件移動(dòng)到 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 目錄下
StarUp目錄就是 啟動(dòng)目錄
重啟計(jì)算機(jī)即可開(kāi)機(jī)自啟動(dòng)
設(shè)置開(kāi)機(jī)自啟動(dòng) (二)
上面的方式需要用戶(hù)自己去配置,對(duì)于不懂的人不能一鍵解決問(wèn)題
下面使用將exe程序打包成windows服務(wù)的方式 一鍵設(shè)計(jì)開(kāi)機(jī)自啟動(dòng)
首先要下載工具包 winsw
下載winsw程序 鏈接: https://github.com/winsw/winsw/releases ,
選擇穩(wěn)定的版本 WinSW v2.11.0 ,直達(dá)鏈接:https://github.com/winsw/winsw/releases/tag/v2.11.0

軟件運(yùn)行需要.Net Framework軟件環(huán)境,根據(jù)需要下載,一般情況windows是有這個(gè)環(huán)境的,查看方法 在地址欄上輸入C:\Windows\Microsoft.NET\Framework ,按回車(chē)鍵即可查看,缺失下載安裝。
然后下載 sample-minimal.xml 配置文件
將這兩個(gè)文件和 server.exe(node打的exe程序) 放到同一個(gè)目錄
修改 sample-minimal.xml 配置文件
<service> <!-- ID of the service. It should be unique across the Windows system--> # 安裝windows服務(wù)后的服務(wù)ID,必須是唯一的。 <id>nodeStart</id> <!-- Display name of the service --> # 服務(wù)名稱(chēng),必須是唯一的。一般和id一致即可。 <name>nodeStart</name> <!-- Service description --> # 服務(wù)描述,可做備注使用。 <description>nodeStart</description> <!-- Path to the executable, which should be started --> # 執(zhí)行的命令 <executable>%BASE%\server.exe</executable> # 日志輸出 <logpath>%BASE%\serviceLogs</logpath> </service>
然后新建兩個(gè) bat文件
install.bat
@echo off start cmd /k "nodeStart.exe install" exit
uninstall.bat
@echo off start cmd /k "nodeStart.exe uninstall" exit
上述exe程序?yàn)?下載的winsw程序包, 我更改了包名
然后運(yùn)行 install 即可設(shè)置開(kāi)機(jī)自啟動(dòng)
PS:這里的bat涉及windows的批處理命令,而對(duì)于開(kāi)機(jī)啟動(dòng)項(xiàng)等敏感位置,會(huì)有安全軟件進(jìn)行攔截或報(bào)警提示,放行即可。
相關(guān)文章
node.js 用socket實(shí)現(xiàn)聊天的示例代碼
本篇文章主要介紹了node.js 用socket實(shí)現(xiàn)聊天的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10
如何利用node轉(zhuǎn)發(fā)請(qǐng)求詳解
這篇文章主要給大家介紹了關(guān)于利用node轉(zhuǎn)發(fā)請(qǐng)求的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
前端自動(dòng)化開(kāi)發(fā)之Node.js的環(huán)境搭建教程
這篇文章主要介紹了前端自動(dòng)化開(kāi)發(fā)之Node.js環(huán)境搭建的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用node.js具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-04-04
NodeJs的優(yōu)勢(shì)和適合開(kāi)發(fā)的程序
做頁(yè)游或webqq這樣的應(yīng)用nodejs有優(yōu)勢(shì),但如果做微博、豆瓣、facebook這樣的社交網(wǎng)絡(luò),nodejs還有優(yōu)勢(shì)嗎?另外不知道大家是什么原因選擇的nodejs?是因?yàn)閼?yīng)用需求還是對(duì)javascript這門(mén)語(yǔ)言的喜歡?2016-08-08
nodeJs爬蟲(chóng)獲取數(shù)據(jù)簡(jiǎn)單實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了nodeJs爬蟲(chóng)獲取數(shù)據(jù)簡(jiǎn)單實(shí)現(xiàn)代碼,感興趣的小伙伴們可以參考一下2016-03-03
利用yarn代替npm管理前端項(xiàng)目模塊依賴(lài)的方法詳解
這篇文章主要給大家介紹了關(guān)于利用yarn代替npm管理前端項(xiàng)目模塊依賴(lài)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09

