gpt4 book ai didi

node.js - 表达通配符规则

转载 作者:太空宇宙 更新时间:2023-11-03 22:32:34 25 4
gpt4 key购买 nike

我正在使用 Node 和 Express 托管一个单页应用程序。我为客户端使用静态中间件。我使用路径 URL 来导航应用程序,例如domain.com/profile/134。我正在使用history.pushState在客户端内部更改页面,并且效果很好。我缺少的是服务器上的通配符规则,用于在用户直接访问我的页面到非根路径时捕获所有可能的路径。如果我尝试直接访问domain.com/profile/134,我会得到以下信息:“无法获取/profile/134”。我尝试在 server.js 的末尾插入通配符 get ,但似乎每次都会被命中,当我访问页面根目录时也是如此。这是我的相关代码:

var express = require('express');
var app = express();
app.use(express.static(__dirname + '/../client'));
app.get('/*', function(req, res) {
console.log('wildcard');
});

这是实现我需要的正确的 GET 通配符规则吗?如何在该处理程序内为静态客户端提供服务?只要保留初始路径,我的客户端随后就会找到正确的页面。我基本上希望这个通配符规则的行为与静态规则相同,但保留初始路径。

最佳答案

你可以使用黑客

app.get('/:url', function(req, res) {
console.log('wildcard');
});

或者试试这个

app.get('/(.*)', function(req, res) {
console.log('wildcard');
});

[已编辑]:这应该按您的预期工作:

var express = require('express');
var app = express();
app.get(/(.*)/, function(req, res) {
console.log("req.path", req.path);
res.send('success');
});

var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;

console.log('Example app listening at http://%s:%s', host, port);
});

关于node.js - 表达通配符规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34391548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com