我想编写一个运行Web服务器的node.js脚本,以及服务器的脚本 启动后,在默认浏览器中打开一个页面。 为了做后者,我尝试了npm包“open”,它完美地运行,除了 本地服务器发布的页面刚刚启动。 脚本类似于:
http.createServer(function(request,response){
... usual stuff
}).listen(8001);
open('http://www.localhost:8001/index.html');
我怀疑原因是当打开服务器时实际上并没有启动服务器 执行,但我试图把它放在一个计时器,几秒后解雇它,然后 结果是一样的。
答案 0 :(得分:4)
在回调中调用open。
例如
http.createServer(function(request,response){
... usual stuff
}).listen(8001,function(){
open('http://localhost:8001/index.html');
});
答案 1 :(得分:1)
这是因为NODE是异步的!
open函数在从listen函数调用之前被调用!
所以在你收到回调后总是这么做!这不像程序编程!
所以使用:http.createServer(function(request,response){
... usual stuff
}).listen(8001,function(){
open('http://www.localhost:8001/index.html');
});