node.js中主进程stdin.write index-82e8994d.js:1 TypeError: Cannot read properties of null (reading 'write')
时间: 2024-02-01 12:17:08 浏览: 69
Node.js-get-stdin-获得stdin作为一个字符串或缓冲区
这个错误通常是因为在运行代码时,stdin(标准输入)被关闭或未打开。如果你想在代码中使用stdin,你需要在程序开始时打开stdin。你可以使用以下代码来打开stdin:
```
process.stdin.resume();
process.stdin.setEncoding('utf8');
```
这里,`process.stdin.resume()`会打开stdin,而`process.stdin.setEncoding('utf8')`会将stdin设置为使用utf8编码。如果你只是想读取stdin中的数据,你可以使用以下代码:
```
let inputData = '';
process.stdin.resume();
process.stdin.setEncoding('utf8');
process.stdin.on('data', function(chunk) {
inputData += chunk;
});
process.stdin.on('end', function() {
console.log(inputData);
});
```
这里,`inputData`变量用于存储从stdin读取的数据。当stdin中有数据时,`process.stdin.on('data')`会被触发,将数据添加到`inputData`中。当stdin结束时,`process.stdin.on('end')`会被触发,此时`inputData`中存储的就是所有从stdin中读取的数据。
阅读全文