2017-01-23 50 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

相关问题