Maison >interface Web >js tutoriel >Node.js utilise le module readline pour implémenter les entrées et les sorties
Qu'est-ce que Readline
Readline est un module packagé dans Node.js qui implémente une entrée et une sortie standard. Grâce à ce module, nous pouvons lire le flux de données ligne par ligne. Les modules peuvent être référencés à l'aide de require("readline").
Comment utiliser Readline
Du point de vue de l'utilisation, pour apprendre Readline, nous devons apprendre ses trois parties :
Créer une instance Readline
Apprenez les méthodes d'interface à l'intérieur
Apprenez à surveiller et à gérer les événements Readline
Apprenons ces trois parties à travers des exemples.
Exemple 1 : Je m'appelle Xiao Ming
Le code est le suivant :
/** * Created by Administrator on 2015/9/10. */ // 引入readline模块 var readline = require('readline'); //创建readline接口实例 var rl = readline.createInterface({ input:process.stdin, output:process.stdout }); // question方法 rl.question("你叫什么?",function(answer){ console.log("名字是:"+answer); // 不加close,则不会结束 rl.close(); }); // close事件监听 rl.on("close", function(){ // 结束程序 process.exit(0); });
L'exemple ci-dessus utilise les trois parties que nous devons apprendre. Tout d'abord, utiliser createInterface crée une instance d'interface, puis utilise la méthode question pour demander le nom et enfin écoute l'événement close de readline, car le nom de la méthode et le nom de la surveillance des événements sont relativement intuitifs et leurs fonctions peuvent également être compris d'un coup d'œil. Je ne ferai que noter trois points :
Dans createInterface, nous devons transmettre l'entrée et la sortie standard en tant que flux de données d'entrée et de sortie
Dans la fonction de rappel de la méthode question, nous pouvons obtenir la saisie de l'utilisateur et la traiter en même temps, nous effectuons une opération de fermeture pour terminer le programme, sinon le programme ne se terminera pas
/** * Created by Administrator on 2015/9/10. */ // 引入readline模块 var readline = require('readline'); var rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.on('line', function(line){ switch(line.trim()) { case 'copy': console.log("复制"); break; case 'hello': rl.write("Write"); console.log('world!'); break; case 'close': rl.close(); break; default: console.log('没有找到命令!'); break; } }); rl.on('close', function() { console.log('bye bye'); process.exit(0); });événement 'line', cet événement est déclenché une fois que l'utilisateur a fini de taper une ligne et appuie sur Entrée. les données saisies par l'utilisateur via la fonction de rappel. Les entrées de l'utilisateur peuvent être traitées dans cette méthode. DonnéesExemple 3 : entrée et sortie de type ligne de commande
var readline = require('readline'); var rl = readline.createInterface(process.stdin, process.stdout); rl.setPrompt('Test> '); rl.prompt(); rl.on('line', function(line) { switch(line.trim()) { case 'copy': console.log("复制"); break; case 'hello': console.log('world!'); break; case 'close': rl.close(); break; default: console.log('没有找到命令!'); break; } rl.prompt(); }); rl.on('close', function() { console.log('bye bye!'); process.exit(0); });La capture d'écran en cours d'exécution est. comme suit : Apparaît dans cet exemple Deux nouvelles méthodes la méthode setPromat(promat) consiste à définir une invite pour chaque ligne, tout comme la commande window line's >. Ce que nous définissons ici est Test>