2016-11-21 109 views
3

我正在使用Yoeman Angular软件包构建的Angular前端网站上工作。该项目使用Node.js构建包托管在Heroku中。Heroku和Angular路由

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

这似乎是一个常见的问题,因为我已经阅读了很多关于如何解决Heroku上的Angular路由的文章。这些都是我所不取,此刻任何成功的行动:

  1. 创建于快递(我已经试过这个脚本的许多口味)一个Node.js的web服务器

    VAR gzippo =需要( 'gzippo'); var express = require('express'); var morgan = require('morgan'); var app = express();

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

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

  3. 创建ENV变量NODE_ENV:真,NODE_PATH:真,NPM_CONFIG_PRODUCTION:假

该网站运行的Apache服务器或节点位于dist文件作为独立的时候完全在本地运行。上面的js脚本。

我将不胜感激任何意见,这将有助于我在Heroku和Angular上解决此问题。提前致谢。

回答

1

我想你毕竟已经能够解决这个问题了(或者你转向了其他方面)。

在任何情况下,并且对于遇到类似问题的任何人,我创建了一个已经配置为在Heroku上部署的Angular2 + Express应用的公共回购协议。

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

因为我失去了像你正在运行的错误到,但我希望,考虑看看我的启动项目任何人都可以计算出来的信息,我不能完全回答这个问题。