我有一个 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”作为响应。有人可以帮我吗?
最佳答案
这可能是因为您已将端口
明确设置为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, ...
关于javascript - Windows Azure 并使用 Node js 进行 Restify,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28094948/