输出问题为console.log('你说$ {reply}');

下面的文件是vanilla.js,文本编辑器是ATOM,使用terminal在nodejs上运行。 代码片段如下:

'use strict'; const Readline = require('readline'); const rl = Readline.createInterface({ input:process.stdin, output:process.stdout, terminal: false }); rl.setPrompt('> '); rl.prompt(); rl.on('line', reply => { console.log('You said ${reply}'); }); 

用户input后嗨,输出是你说$ {reply}

 $ node app.js > hi You said ${reply} 

其中应该是你说的嗨
目前正在使用Python v8.9.1

我错过了代码或任何所需的依赖项。 查看附件截图 。

问候,Nirmal

你需要使用反引号“`”才能使用模板string。 你需要改变你的代码中的这一行:

 console.log('You said ${reply}'); 

 console.log(`You said ${reply}`); 

也检查出这个JSFiddle

请使用反斜杠而不是string

  'use strict'; const Readline = require('readline'); const rl = Readline.createInterface({ input:process.stdin, output:process.stdout, terminal: false }); rl.setPrompt('> '); rl.prompt(); rl.on('line', reply => { console.log(`You said ${reply}`); });