2016-11-21 93 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

因爲我失去了像你正在運行的錯誤到,但我希望,考慮看看我的啓動項目任何人都可以計算出來的信息,我不能完全回答這個問題。