Windows Azure并使用节点js进行解析

时间:2015-01-22 17:23:59

标签: javascript node.js azure restify

我有一个azure网站,其网址类似于: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);
});

我已经提交了我的node_modules文件夹,其中包含restify依赖项。现在,当我点击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

我被困住了,不知道为什么我在浏览器中没有得到“你好约翰”作为回应。有人可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

这可能是因为您已明确将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, ...

一起使用

答案 1 :(得分:1)

当我试图收听特定端口时,我遇到了同样的问题。

var port = process.env.PORT || 3000;

添加了port变量并在listen方法中使用了它。 它解决了这个问题。