Heroku和angular度路由
我正在使用Yoeman Angular软件包构build的Angular前端网站上工作。 该项目使用Node.js构build包在Heroku中进行托pipe。
Heroku没有错误地构build项目,它运行Gulp和Bower来安装依赖关系。 启动脚本执行完毕并编译项目后,索引页面加载没有问题,但是任何不是主页的其他页面(例如login页面)都会陷入“无法获取/login”消息。
这似乎是一个常见的问题,因为我已经阅读了许多关于如何解决Heroku上的Angular路由的文章。 这些都是我目前没有取得成功的一切行动:
-
在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);
-
在Heroku中为.gitignore注释dist文件夹以使用它。 dist文件夹被推入Git。
-
创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
我不能完全回答这个问题,因为我错过了你遇到的错误,但希望看看我的起动器项目,任何人都可以搞清楚。