如何在Windows下启动Koa并隐藏窗口

我打算在本地可以随时打开 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 脚本文件后,命令提示符窗口将在后台运行且不可见。

请注意,虽然这种方法可以让窗口不可见,但仍然可以在任务管理器中看到相应的进程。

 

最后把这个脚本设置为开机启动,相当于本地的服务器功能就架设好了。

 

如果VBS 脚本的位置和JS脚本位置不同,就需要先切换工作目录。最好同时记录下服务器日志,写到log.txt文件里。

Set objShell = CreateObject("WScript.Shell")
objShell.Run "cmd /c cd /d d:\hello-koa & node app.js> log.txt 2>&1", 0, False

>: 这个符号将命令的输出重定向到一个文件。在这个命令中,log.txt 是文件的路径和名称,命令的输出将写入到这个文件中。

2>&1: 这部分是将标准错误流(stderr)重定向到标准输出流(stdout)。在 Unix/Linux 系统中,2 表示标准错误流的文件描述符,1 表示标准输出流的文件描述符。>& 符号表示将一个流重定向到另一个流。所以,2>&1 意味着将标准错误流重定向到标准输出流,这样你的日志文件中将包含标准输出和标准错误的所有内容。

上面代码用到cmd命令切换目录,也可以直接在vbs中切换目录

Set objShell = CreateObject("WScript.Shell")
objShell.CurrentDirectory = "D:\hello-koa"
objShell.Run "cmd /c node app.js> log.txt 2>&1", 0, False

 

posted @   C羽言  阅读(34)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示