Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法启动Azure中托管的nodejs web api_Javascript_Node.js_Azure_Restify - Fatal编程技术网

Javascript 无法启动Azure中托管的nodejs web api

Javascript 无法启动Azure中托管的nodejs web api,javascript,node.js,azure,restify,Javascript,Node.js,Azure,Restify,学习nodejs,并开始使用restify创建自己的restfulapi 我创建了一个非常简单的server.js文件,其中基本上包含一个hello world类型的示例,如下所示: server.post('/api/messages', servicemanager.verifyFramework(), servicemanager.listen()); server.get(/.*/, restify.serveStatic({ 'directory': '.', 'de

学习
nodejs
,并开始使用restify创建自己的restfulapi

我创建了一个非常简单的
server.js
文件,其中基本上包含一个hello world类型的示例,如下所示:

server.post('/api/messages', servicemanager.verifyFramework(), servicemanager.listen());

server.get(/.*/, restify.serveStatic({
    'directory': '.',
    'default': 'index.html'
}));

server.listen(process.env.port || 3978, function () {
    console.log('%s listening to %s', server.name, server.url); 
});
这在当地很管用。我不能点击,我可以测试我的API调用,只是很好的调用

我已经将代码部署到bitbucket中,现在我想使用
应用服务
在Azure中托管这些API

我的项目结构如下:

/topfolder
  -/myproject
     -/node_modules
       -/node_modules...
     server.js
     package.json
     index.html
当我在Azure中设置新的应用程序服务时,我可以看到部署从BB接收代码,但服务从未响应我的请求

我已经设置了要使用的应用程序的主路径:
/site/wwwroot/topfolder/myproject
,当我导航到时,我可以看到
index.html
,这很好

我实际上得到了一个404错误:
您正在查找的资源已被删除、名称已更改或暂时不可用。

关于如何使用bitbucket设置连续部署的例子有很多,在大多数情况下,它们似乎都能工作,但我的
server.js
文件似乎不是被调用或启动的对象

我如何调试这里发生的事情

Azure是否在此场景中使用了
packages.json
文件


谢谢。

作为Azure App Services上托管的应用程序的根目录路径,是
D:\home\site\wwwroot
。关于nodejs应用程序,Azure fabric将在根目录中找到入口脚本,如
server.js
。请求通过根目录中的
web.config
处理。如果缺少
server.js
web,config
文件,则会出现404错误

您可以尝试修改或更改应用程序的结构,如:

-/node_modules
  -/node_modules...
server.js
package.json
index.html
然后,通过GIT或BB将应用程序部署到Azure,Azure部署任务将运行命令
npm install
,并在根目录中生成
web.config
wile


如有任何进一步的问题,请随时通知我。

如果您将FTP发送到azure网站,则在某处会有日志。没有太多的目录可供浏览,但在目录结构中您项目上方的一个文件中,我很肯定有一个日志文件,其中应该包含从您的应用程序记录的任何控制台输出。您使用什么url来访问托管api?@Chev谢谢,这是调试控制台,我环顾四周,但没有任何东西向我扑来。有什么线索吗?@DavidMakogon我在打:作为http post请求。在本地,我点击了哪个有效(当然,当我确定节点正在运行时),看起来你只需要有这样的结构就可以了,现在这对我来说是有效的,尽管这是一个巨大的痛苦。谢谢你,加里。