我有一个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, ...
一起使用