如何在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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具