Azure网站+ node.js - 无法获取/

时间:2017-02-02 13:00:53

标签: node.js azure-web-sites

将node.js / express应用程序部署到Azure网站时,我在浏览器中收到“无法获取/”错误。同一个应用程序在本地计算机上运行完美。

class ComponentA extends Component { render() { <Photo {...this.props}></Photo> //want to fire mouse enter event of Photo } } class ComponentB extends Component { render() { <Photo {...this.props}></Photo> //want to not fire mouse enter event of Photo } } 是标准的(我只删除了静态重写规则),所以:

web.config

代码部署在 <!-- All other URLs are mapped to the node.js site entry point --> <rule name="DynamicContent"> <conditions> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True"/> </conditions> <action type="Rewrite" url="src/server/app.js"/> </rule> </rules> (节点功能)和src/server/(静态内容)文件夹中。

根据FREB日志获取src / server / apps.js,但最后会抛出以下错误:

src/client/

内部ErrorCode The system cannot find the file specified. (0x80070002) 我对静态文件有以下配置:

app.js

1 个答案:

答案 0 :(得分:1)

Azure网站从 app.use(express.static('./src/client/')); 中定义的文件作为起始文件所在的文件夹运行节点,例如,对于以下内容:

package json

事实上,它将从"start": "node src/server/app.js" 文件夹运行node app.js(您还可以找到src/server文件)。这导致所有相对路径混乱。对此的一种解决方案是使用绝对路径,例如:

iisnode.yml

并使用例如路径在路径之间切换app.use(express.static('D:/home/site/wwwroot/src/client/')); 变量。