nodejs-readline接口提示值修改

时间:2018-11-29 06:36:52

标签: node.js command-line-interface

在nodejs中,我正在使用readline模块创建一个CLI。最初,我使用以下代码启动提示

let _interface = require('readline').createInterface{
input: process.stdin,
output: process.stdout,
prompt: '>'};
_interface.prompt();
/*some operation*/
_interface.prompt();

但是我正在尝试将提示图标从>更改为$,因为用户试图对其进行更改。如何在不重新启动提示的情况下完成此操作。

1 个答案:

答案 0 :(得分:1)

您可以使用rl.setPrompt()方法来实现。

考虑此示例

const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
    prompt: '> '
});

rl.prompt();

rl.on('line', (line) => {
    if(line.trim()=='change --$'){
        rl.setPrompt('$');
    }
    rl.prompt();
}).on('close', () => {
    console.log('Have a great day!');
    process.exit(0);
});

我希望它对您有用。