Heroku和angular度路由

我正在使用Yoeman Angular软件包构build的Angular前端网站上工作。 该项目使用Node.js构build包在Heroku中进行托pipe。

Heroku没有错误地构build项目,它运行Gulp和Bower来安装依赖关系。 启动脚本执行完毕并编译项目后,索引页面加载没有问题,但是任何不是主页的其他页面(例如login页面)都会陷入“无法获取/login”消息。

这似乎是一个常见的问题,因为我已经阅读了许多关于如何解决Heroku上的Angular路由的文章。 这些都是我目前没有取得成功的一切行动:

  1. 在Express中创build一个Node.js Web服务器(我已经尝试了这个脚本的许多风格)

    var gzippo = require('gzippo'); var express = require('express'); var morgan = require('morgan'); var app = express();

    app.use(摩根( 'dev的')); app.use(gzippo.staticGzip(“”+ __dirname +“/ dist”)); app.use('/ bower_components',express.static(__ dirname +'/ bower_components')); app.listen(process.env.PORT || 5000);

  2. 在Heroku中为.gitignore注释dist文件夹以使用它。 dist文件夹被推入Git。

  3. 创buildenvvariablesNODE_ENV:true,NODE_PATH:true,NPM_CONFIG_PRODUCTION:false

当在Apache服务器上独立运行dist文件或使用上面的Node.js脚本运行站点时,该站点可以在本地完美运行。

我将不胜感激任何意见,可以帮助我解决这个问题在Heroku和Angular。 提前致谢。

我想,毕竟这个时候你已经能够解决这个问题了(或者你转向了别的东西)。

在任何情况下,对于遇到类似问题的任何人,我都会创build一个已经configuration为在Heroku上部署的Angular2 + Express应用程序的公共回购站。

https://github.com/pabloruiz55/Angular-Express-Heroku

我不能完全回答这个问题,因为我错过了你遇到的错误,但希望看看我的起动器项目,任何人都可以搞清楚。