如何在Windows下啟動Koa並隱藏視窗

C羽言發表於2024-04-05

我打算在本地可以隨時開啟 http://127.0.0.1:3000/ 這樣使用本地的網頁程式了。

但是透過cmd執行 node app.js 那個黑色的視窗看著礙眼,於是有了這個教程。

要使命令提示符視窗在後臺執行且不可見,可以使用 VBS 指令碼(Visual Basic Script)來實現。VBS 指令碼可以透過 Windows 指令碼宿主來執行,並且可以執行各種系統級別的操作。

以下是一個示例 VBS 指令碼,用於在後臺執行命令提示符視窗並將其隱藏:

Set objShell = CreateObject("WScript.Shell")

' 呼叫 Run 方法執行命令,並將視窗隱藏
objShell.Run "cmd /c node your_app.js", 0, False

將上述程式碼儲存為一個字尾為 .vbs 的檔案,比如 run_hidden.vbs。然後,將你的 Node.js 程式的啟動命令 node your_app.js 替換到程式碼中的 node your_app.js 部分。

執行該 VBS 指令碼檔案後,命令提示符視窗將在後臺執行且不可見。

請注意,雖然這種方法可以讓視窗不可見,但仍然可以在工作管理員中看到相應的程序。

最後把這個指令碼設定為開機啟動,相當於本地的伺服器功能就架設好了。

cmd內容部分補充

cd path\to\your\koa\project
node your_app.js > log.txt 2>&1

這行命令是一個 Shell 命令,它執行了以下操作:

  1. node your_app.js: 這部分是執行你的 Node.js 應用程式的命令。node 是 Node.js 執行時的可執行檔案,your_app.js 是你的 Koa 應用程式的入口檔案。這個命令告訴作業系統執行 Node.js,並透過指定的檔案啟動你的應用程式。

  2. >: 這個符號將命令的輸出重定向到一個檔案。在這個命令中,log.txt 是檔案的路徑和名稱,命令的輸出將寫入到這個檔案中。

  3. 2>&1: 這部分是將標準錯誤流(stderr)重定向到標準輸出流(stdout)。在 Unix/Linux 系統中,2 表示標準錯誤流的檔案描述符,1 表示標準輸出流的檔案描述符。>& 符號表示將一個流重定向到另一個流。所以,2>&1 意味著將標準錯誤流重定向到標準輸出流,這樣你的日誌檔案中將包含標準輸出和標準錯誤的所有內容。

因此,這個命令的作用是將你的應用程式的輸出(包括標準輸出和標準錯誤)寫入到 log.txt 檔案中。這樣你就可以在日誌檔案中檢視你的應用程式的輸出,包括任何可能發生的錯誤資訊。

相關文章