gpt4 book ai didi

javascript - 在 Node js 中使用动态参数为 URL 提供静态文件,无需任何库或框架

转载 作者:行者123 更新时间:2023-12-02 22:19:19 26 4
gpt4 key购买 nike

我这里有一个小问题。我想使用一个简单的 Node 服务器为“/user/:id”URL 提供一个静态文件。这怎么可能?这是我在客户端的请求:

document.location.href = `http://localhost:8080/user/${x}`;

这是我的请求处理程序:

var routeHandler;
if (req.method === 'GET') {
switch (req.url) {
case '/user/:id':
routeHandler = userProvider;
break;
}
}

function userProvider(req, res) {
req.url = 'index.html';
staticFileHandler(req, res);
}

function staticFileHandler(req, res) {
fs.readFile('client/' + req.url, function (err, data) {
if (err) {
res.writeHead(500);
res.write(err.name);
res.end();
}
res.writeHead(200);
res.write(data);
res.end();
});
}

有没有办法只使用nodejs而不使用express或任何其他库来处理这个请求?

最佳答案

由于req.url不会与case '/user/:id':完全匹配,所以不要'不要使用开关

改用使用正则表达式的 if 测试。

if ( req.url.match(/^\/user\/\d+/);

关于javascript - 在 Node js 中使用动态参数为 URL 提供静态文件,无需任何库或框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59289428/

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