我是 Node 新手,正在尝试使用 Express 在 Node 中构建一个简单的服务器。请求的格式为 /input00001/1/output00001
。我需要做的是解析这个请求,如果标志是1(中间值),我需要用文件\home\替换文件
。怎么可能做到这一点? \home\inputfiles\input00001.txt
输出文件\output00001.txt
这是到目前为止我的简单服务器。我同意不使用 Express 和纯 NodeJ,如果这能让事情变得更容易的话。
const express = require('express');
const app = express();
const port = 8000;
app.get('/', (request, response) => {
response.send('Hello from Express!');
request.param
});
app.get('/*', (request, response) => {
response.send('Start!');
var url = request.originalUrl;
});
app.listen(port, (err) => {
if (err) {
return console.log('something bad happened', err);
}
console.log(`server is listening on ${port} for incoming messages`);
});
最佳答案
您应该设置一个将这些项目作为 url 参数的路由,然后使用这些参数来执行您想要的操作。例如,如果您的网址是 /input00001/1/output00001
那么您可以设置如下路由:
app.get('/:input/:flag/:output', (req, res) => {
var params = req.params
var input = params.input //input0001
var flag = params.flag // 1
var output = params.output //output0001
// now do what you need to with input, flag, and output
if(typeof flag!=='undefined' && flag==1){
var file_name_string = '\home\inputfiles\input00001.txt';
var res = file_name_string.replace("input", "output");
}
console.log(input, flag, output)
res.send("done")
})
关于javascript - 在我的简单 Node Js 服务器中解析请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47227548/