我是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`);
});
最佳答案
您应该设置一条将这些项目用作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")
})