2017-01-23 100 views
1

我有一個簡單的快遞服務器文件。快遞app.get('*')不適用於'/'

我想在我的app.get('*')塊內執行任何代碼。但是,當我放入一個console.log它不會顯示爲我的根。它適用於我的其他路線,但從不在'/'路線上。作爲參考,我在當地開發,所以它不是http://localhost:8080/

const app = express(); 

const port = process.env.PORT ? process.env.PORT : 8181; 
const dist = path.join(__dirname, 'dist'); 

app.get('*', (req, res, next) => { 
    console.log('Why wont you show on /') 
}); 
app.use(express.static(dist)); 

//These two routes work... 
app.get('/info', getInfo); 
app.get('/infoDetail', getID); 

app.listen(port, (error) => { 
    if (error) { 
    console.log(error); // eslint-disable-line no-console 
} 
    console.info('Express is listening on port %s.', port); // eslint-disable-line no-console 
}); 

工作dist文件夾編制CSS,JS和index.html

+0

如果你使用app.all('*',(req,res,next)=> {'? –

回答

1

我剛剛創建了一個簡單的測試Express應用程序:

const express = require("express"); 

let app = express(); 

app.get('*', (req, res, next) => { 
    res.json({ hi: 'there' }); 
}); 

app.listen(3000); 

當我運行這個例子,並點擊/ url,我確實得到了所需的JSON響應。

你確定你的例子是你正在運行的確切代碼嗎?

+1

啊,好吧,這讓我記住了我的內存,我正在使用webpack代理devServer,所以當我走到8080它沒有命中應用程序我必須在8181'devServer:{0} {0}歷史API撤消:真, 代理:{ '/ api *':'http:// localhost:8181' } } – mrsq

相關問題