Javascript 使用azure发布时无法获取/Node.js

Javascript 使用azure发布时无法获取/Node.js,javascript,angularjs,node.js,azure,loopback,Javascript,Angularjs,Node.js,Azure,Loopback,我只是在发布到azure时遇到了一个问题。上面写着:当我打开网站时,无法获取 我使用带有node.js、angular.js和loopback(API)的静态站点 这里是我的客户端(site.js): 公用文件夹中有index.html 这是my Package.json: { "name": "angular-site", "version": "1.0.0", "description": "static server to server Node.js", "main":

我只是在发布到azure时遇到了一个问题。上面写着:当我打开网站时,无法获取

我使用带有node.js、angular.js和loopback(API)的静态站点

这里是我的客户端(site.js):

公用文件夹中有index.html

这是my Package.json:

{
  "name": "angular-site",
  "version": "1.0.0",
  "description": "static server to server Node.js",
  "main": "site.js",
  "author": "Jordan Leonardi",
  "dependencies": {
    "express": "^4.8.5"
  }
}

当我尝试使用localhost时,它看起来不错,但当我尝试使用azurehost时,它会返回一个错误“cannotget/”

您似乎没有为
/
设置路由。 当请求时,当前实现将仅返回
/Public
目录中的文件。但根路由未分配

您可以使用:

app.get('/', (req, res) => res.send('Hello World'));

此外,当您将应用程序部署到Azure应用程序服务、Heroku等云服务时,您应该使用
process.env.PORT | | 1338
而不是自定义端口
1338

您是否正在捕获
。获取
?例如
app.get('/',(req,res)=>{}
正如其他答案所提到的(例如我标记为的副本),Web应用程序只能在端口80和443(从外部)上侦听,并且您必须从环境中获取正确的端口。您不能简单地在端口1338上侦听。所以,如果我在/Public目录中有index.html,它会像这样吗?app.get('/index.html',function(req,res){res.send('index.html')})@j.lo您的索引页将自动启动,您的服务器需要能够解释对
mywebsite.com
的请求,在您的情况下将是
/
。您可以使用tbking提供的代码来处理这个问题。正如@JayGould所说,无论
/Public
目录中有什么内容,都将自动处理。但是没有的东西必须由这样的代码来处理。在这种情况下,它是您网站的登录页。因此,
mywebsite.com/
最终拥有了
/
,这就是您需要处理此代码的路径。
app.get('/', (req, res) => res.send('Hello World'));