javascript - 在我的简单 Node Js 服务器中解析请求

标签 javascript node.js sockets express server

我是 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/

相关文章:

javascript - angularJs - 如何获取过滤数组

php - 如何使用nodejs设置HTTP服务器进行日志记录?

node.js - Node-Red:使用 CSV Node

ios - 使用签名请求从 React Native (iOS) 直接发布到 AWS S3

客户端套接字无法使用轮询/选择接收数据

javascript - 如果我使用 Javascript 将 <option> 设置为选中,是否会触发更改事件?

javascript - 延迟加载参数值

javascript - 检测 iPad 方向变化

java - 如何更改 Java ROME 解析器默认套接字超时?

python - 未找到协议(protocol) socket.getprotobyname