我是Node的新手,我正在尝试使用Express在Node中构建一个简单的服务器。请求的格式为/input00001/1/output00001
。我需要做的是解析这个请求,如果标志是1(中间值),我需要用文件\home\inputfiles\input00001.txt
替换文件\home\outputfiles\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`);
});
答案 0 :(得分:1)
您应该设置一个路径,将这些项目作为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")
})