キーボードからテキストを読み取って変数に格納する簡単なものが欲しいのですが。だから:
var color = 'blue'
ユーザーにキーボードから色の入力を提供してもらいたい。ありがとうございました!
非同期のものが必要ない場合は、readline-syncモジュールもお勧めします。
# npm install readline-sync
const readline = require('readline-sync');
let name = readline.question("What is your name?");
console.log("Hi " + name + ", Nice to meet you.");
ノードにはこのためのAPIが組み込まれています...
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('Please enter a color? ', (value) => {
let color = value
console.log(`You entered ${color}`);
rl.close();
});
NodeJSプラットフォームには3つの解決策があります
いいね:( https://nodejs.org/api/readline.html )
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('What do you think of Node.js? ', (answer) => {
// TODO: Log the answer in a database
console.log(`Thank you for your valuable feedback: ${answer}`);
rl.close();
});
同期ユースケースの必要性については、NPMパッケージ:readline-syncのように使用します:( https://www.npmjs.com/package/ readline-sync )
var readlineSync = require( 'readline-sync');
//ユーザーの応答を待ちます。 var userName = readlineSync.question( 'あなたの名前を教えてもらえますか?'); console.log( 'Hi' + userName + '!');
すべての一般的なユースケースのニーズには、** NPMパッケージ:グローバルパッケージ:プロセス:**のように:( https://nodejs.org/api/process.html )を使用します。
入力をargvとして取得する場合:
// print process.argv
process.argv.forEach((val, index) =>
{
console.log(`${index}: ${val}`);
});
NodeJSコアの標準入力機能を使用することもできます。 ctrl+D
標準入力データの読み取りを終了します。
process.stdin.resume();
process.stdin.setEncoding("utf-8");
var input_data = "";
process.stdin.on("data", function(input) {
input_data += input; // Reading input from STDIN
if (input === "exit\n") {
process.exit();
}
});
process.stdin.on("end", function() {
main(input_data);
});
function main(input) {
process.stdout.write(input);
}
これには stdio を使用できます。それは次のように簡単です:
import { ask } from 'stdio';
const color = await ask('What is your keyboard color?');
このモジュールには、事前定義された回答のみを受け入れることにした場合の再試行が含まれます。
import { ask } from 'stdio';
const color = await ask('What is your keyboard color?', { options: ['red', 'blue', 'orange'], maxRetries: 3 });
stdio を見てください。これには、便利な他の機能が含まれています(コマンドライン引数の解析、標準入力の一括読み取り、または行ごとの読み取りなど)。
これにはモジュール「readline」を使用できます。 http://nodejs.org/api/readline.html -マニュアルの最初の例は、要求したことを実行する方法を示しています。