Windows后台运行node的web项目的方法
新建一个run.bat文件,内容比如说:
node app.js>>console.txt
然后,用在新建一个vb脚本,扩展名为.vbs,运行它即可。
CreateObject("WScript.Shell").Run "cmd /cX:\run.bat",0
4 回复
vbs太敏感了,这个方法容易被反病毒软件误击。我个人还是推荐用C扩展,几行C代码的就行了
how to do?
@tank00 源代码如下:
//hideconsole源代码
#include "node.h"
#pragma comment(lib, "node")
using namespace v8;
using namespace node;
extern "C" void NODE_EXTERN init (Handle<Object> target)
{
ShowWindow(GetConsoleWindow(), SW_HIDE);
}
用的时候,在脚本里面 require(’./hideconsole’); 就行了。 这个方法有个副作用,就是控制台窗口会一闪而过(执行到require(’./hideconsole’)之前,还是会显示的)。不过如果给启动node的脚本建立一个最小化运行的快捷方式,也就没问题了。
当然你也可以把node源码改了,自己编译一个非控制台的版本。
我计划在自己的项目里用另一种方法,就是CreateProcess启动node子进程的时候,指定参数:
StartupInfo.wShowWindow = SW_HIDE;
@wenbob 好强力,感谢帮助