在heroku express服务器上托管AngularJS App无法正常工作?

时间:2014-11-12 00:26:01

标签: angularjs node.js heroku

我试图在heroku上运行angularJS应用程序。我写了这个服务器来处理请求:

var express = require('express');
var path = require('path');
var compress = require('compression');
var logfmt = require('logfmt');
var app = express();

app.use(logfmt.requestLogger());
app.use(compress());

app.use(express.static(__dirname + '/dist'));

app.all('*', function(req, res, next) {
    if(req.path.match(/\.(html|js|css|png|jpg|jpeg|gif|webp|svg)$/)) {
        return next();
    }

    res.sendFile('/dist/index.html');
});

var port = Number(process.env.PORT || 8080);
app.listen(port, function() {
    console.log("Listening on " + port);
});

如果我在本地开发中运行npm start它工作正常,我可以导航应用程序。

然而,当我在heroku上尝试同样的事情时,我得到了这个:

  

错误:ENOENT,stat' /dist/index.html'

我还从heroku工具箱中获取了一些无用的日志,所有这些日志基本上都表明404请求。如果有人想阅读这些日志,我会非常乐意在这里发布这些日志。我最初会推迟,以避免让这篇文章看起来像垃圾邮件。

0 个答案:

没有答案