2017-05-09 44 views
2

我正在用Node.js和Express創建一個Angular 2應用程序。

我遇到的問題是我的路由文件不能使用通配符。每次我訪問的頁面與其他任何東西,然後/(例如/test)它說以下內容:ReferenceError: path is not defined

我server.js:Node.js/Express重定向到角2頁

const express = require('express'); 
const app = express(); 
const path = require('path'); 
const routes = require('./routes'); 
const data = require('./articles.json'); 

app.use(express.static(path.join(__dirname, '/dist'))); 
app.use('/', routes); 

app.listen(8080, function() { 
    console.log('App started on port 8080'); 
}); 

我/routes/index.js:

const routes = require('express').Router(); 

routes.get('*', function (req, res) { 
    res.sendFile(path.join(__dirname + '/dist/index.html')); 
}); 

module.exports = routes; 

那麼我在這裏做錯了什麼?

回答

1

需要導入的路徑包在你的index.js太

/routes/index.js

const path = require('path'); 
const routes = require('express').Router(); 

routes.get('*', function (req, res) { 
    res.sendFile(path.join(__dirname + '/dist/index.html')); 
}); 

module.exports = routes; 
+2

天哪感謝。我將所有內容都移動到了路線文件中,但忘記了路徑。 Lol –

+0

@LuudvanKeulen發生在我們身上:-) – echonax

+0

我會在8分鐘內接受它(SO定時器不會讓我接受它,所以很快)。 –