我打算在本地可以隨時開啟 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 命令,它執行了以下操作:
-
node your_app.js
: 這部分是執行你的 Node.js 應用程式的命令。node
是 Node.js 執行時的可執行檔案,your_app.js
是你的 Koa 應用程式的入口檔案。這個命令告訴作業系統執行 Node.js,並透過指定的檔案啟動你的應用程式。 -
>
: 這個符號將命令的輸出重定向到一個檔案。在這個命令中,log.txt
是檔案的路徑和名稱,命令的輸出將寫入到這個檔案中。 -
2>&1
: 這部分是將標準錯誤流(stderr)重定向到標準輸出流(stdout)。在 Unix/Linux 系統中,2
表示標準錯誤流的檔案描述符,1
表示標準輸出流的檔案描述符。>&
符號表示將一個流重定向到另一個流。所以,2>&1
意味著將標準錯誤流重定向到標準輸出流,這樣你的日誌檔案中將包含標準輸出和標準錯誤的所有內容。
因此,這個命令的作用是將你的應用程式的輸出(包括標準輸出和標準錯誤)寫入到 log.txt
檔案中。這樣你就可以在日誌檔案中檢視你的應用程式的輸出,包括任何可能發生的錯誤資訊。