所以我的问题是关于Node js管道的。所以我的后端看起来像这样-有一条简单的路由,该路由调用函数并将可执行类型文件的文件路径传递给它。然后,该文件与childProcess.spawn
一起运行,并且有一个data
输出,我可以console.log
const express = require("express");
const app = express();
etc...
const runExecutable = (executableFile) => {
const runFile = childProcess.spawn(executableFile);
runFile.stdout.on('data',function(data){
console.log("DATA",data);
})
runFile.on('exit',function(code,signal){
[some code here]
})
}
app.get('/example',(req,res) => {
var file = "./testFile.exe";
runExecutable(file);
})
我的问题是如何将data
/ aka块的输出实时地通过管道传输到客户端,这对他们来说很重要,因为它们可以获取数据,而不是将其写入一个文件,然后将整个内容发送给他们。需要注意的另一件事是,客户端正在通过终端中的卷曲curl 123.45.678.901/example
访问我的路由,而我想将data
用管道传输到他们的终端。
在阅读时,我知道例如请求模块执行了request.get(url).pipe(res) /[Express res]
,所以我想知道这是否与我可能需要做的事情相似。
谢谢大家!