因为我正在使用react路由器,所以我无法对Node中的每个路由进行特定的文件路径引用。为了在获取特定文件路径时不会崩溃,我必须将此代码放在节点中。
app.use(express.static(path.join(__dirname, '/frontend-two')));
app.get('*', function(req,res) {
res.sendFile(path.join(__dirname, './frontend-two/index.html'));
});
但是,我确实想要放置一个特定的文件路径,以便将json数据发送回客户端。除非我能为特定的' / users'被排除在外。
是否有人可能知道可能的正则表达式来完成此任务?我通过其他问题尝试了一些想法,但无法弄明白。
答案 0 :(得分:1)
您可以通过两种方式实现:
您可以添加/ users路径,然后添加* path:
app.get('/get', function (req, res) {
// ...
});
app.get('*', function (req, res) {
// ...
});
将使用第一个匹配,因此*
路径与/users
路径不匹配,因为它是第二个路径。
或者您可以使用这样的正则表达式:/^(?!\/users)$/
匹配所有内容但不匹配用户。您可以通过多种方式编写正则表达式 - 搜索负前瞻和后瞻断言。