我有一个azure网站,其URL类似于:http://app.azurewebsites.net/。现在,我的server.js文件包含以下代码:

var restify = require('restify');

function respond(req, res, next) {
  res.send('hello ' + req.params.name);
  next();
}

var server = restify.createServer();
server.get('/hello/:name', respond);
server.head('/hello/:name', respond);

server.listen(8080, function() {
  console.log('%s listening at %s', server.name, server.url);
});


我已经提交了包含restify依赖项的node_modules文件夹。现在,当我按下http://app.azurewebsites.net:8080/hello/john时,我没有回音,查询也只是超时了!

在调试窗口中单击http://app.azurewebsites.net/时,我看到:

2015-01-22T16:53:27  Welcome, you are now connected to log-streaming service.
restify listening at http://0.0.0.0:8080


我被困住了,不确定为什么我的浏览器没有响应“ hello john”。有人可以帮我吗?

最佳答案

这可能是因为您已将port显式设置为8080

而是这样做:

var restify = require('restify');
var port = process.env.PORT || 8080;

function respond(req, res, next) {
  res.send('hello ' + req.params.name);
  next();
}

var server = restify.createServer();
server.get('/hello/:name', respond);
server.head('/hello/:name', respond);

server.listen(port, function() {
  console.log('%s listening at %s', server.name, server.url);
});


请注意,我添加了port变量并将其与server.listen(port, ...一起使用

07-26 04:40