2017-06-15 87 views
0

我想分開項目前端和後端。 一個用angular-cli構建,另一個用express來構建。如何使用Angular和Express設置兩個分離項目的路由?

我知道我應該加載的index.html在蒸餾水文件夾一樣,app.use(express.static('../../frontend/dist'));

如果我訪問mydomain.com,然後正常工作。 但是,當我嘗試通過鍵入訪問瀏覽器地址欄上的mydomain.com/signin時,它顯示can not get /signin

我想這是因爲我在分離前端和後端項目的過程中犯了一個錯誤。

我喜歡下面,但我想我需要做些事情來解決這個問題。 我以爲app.use(express.static('../../frontend/dist'));是足夠路由,但它不能設置路由。

我覺得這個不適合我的情況。

router.get('/', function (req, res, next) { 
    res.render('index');  // I split it into two projects, how can I render it? 
}); 

例如,

app.get('/signin', (req, res, next) => { 
    res.render('something'); 
}) 

我想我無法呈現,因爲我把它分成兩個項目。

這就是爲什麼我使用此代碼。 app.use(express.static('../../frontend/dist'));

如何在我的情況下設置路由?

回答

0

我解決了如下。這是因爲我理解不好。 我知道這是一個初學者問題,但對於像我這樣的其他初學者,請發表我的答案。

首先,安裝路徑npm包。 npm install path --save

二,添加var path = require('path');

三,加app.use(express.static(path.join(__dirname, 'your path/dist')));

最後,添加

app.get('*', (req, res) => { 
     res.sendFile(path.join(__dirname, 'your path/dist/index.html')); 
    }); 

這是非常簡單的。 我希望有人在我的答案中得到解決方案。 :D

相關問題