我试图在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请求。如果有人想阅读这些日志,我会非常乐意在这里发布这些日志。我最初会推迟,以避免让这篇文章看起来像垃圾邮件。