我想使用node.js从命令提示符运行 name.js 文件,并传递输入文件并在 output.txt 中重定向该输出,我正在为此编写一个命令,但这node name.js < input.txt | > output.txt不起作用或者我错了。name.js 看起来像这样:const readline = require('readline');const rl = readline.createInterface({ input: process.stdin, output: process.stdout});var _line = "";rl.on('line', function(line){ _line += line;});rl.on('pause', function(_line){ console.log(_line);});我也尝试过这个Powershell -Command "command"编辑:例如 input.txt 包含hello jshello nodehello world!现在,如果我跑node name.js < input.txt > output.txt。我只是在output.txt中得到console.log()的“ undefined ”的返回值
1 回答
泛舟湖上清波郎朗
TA贡献1818条经验 获得超3个赞
将_line传递给 rl.on('pause',function( _line ){} 隐藏全局_line这就是为什么它给出 undefined 并且 cmd 命令没问题。
还有其他方法可以通过使用Node.js 的进程 I/O来做到这一点
function YourData(input) {
}
process.stdin.resume();
process.stdin.setEncoding("ascii");
_input = "";
process.stdin.on("data", function (input) {
_input += input;
});
process.stdin.on("end", function () {
YourData(_input);
});
添加回答
举报
0/150
提交
取消