Node.js已更新至最新版本仍无法正常使用ES6语法问题咨询
问题解决:ES6模板字符串变量插值失效
兄弟,一眼就看出问题所在了——你写模板字符串用错引号啦!
ES6的模板字符串想要实现变量插值(就是解析${变量}这种语法),**必须用反引号()**来包裹整个字符串,而不是你现在用的单引号(')。单引号只会把里面的内容原封不动地当作普通文本输出,自然不会处理${}`里的变量。
看你这段代码里的关键问题点:
// 错误写法:单引号包裹,无法解析变量 const textOut = 'This is what we know: ${textIn}.\nCreated on ${Date.now()}';
只需要把单引号换成反引号,就能正常实现变量插值了,修正后的完整代码如下:
const fs = require('fs'); const textIn = fs.readFileSync('./txt/input.txt','utf-8'); console.log(textIn); // 正确写法:用反引号包裹模板字符串 const textOut = `This is what we know: ${textIn}.\nCreated on ${Date.now()}`; fs.writeFileSync('./txt/output.txt', textOut); console.log('File Written!');
顺便提一句:Node.js从v4.0.0版本就已经支持ES6模板字符串了,你更新到最新版本完全没问题,这次的锅真的就是引号用错了😉
内容的提问来源于stack exchange,提问作者user13044395
相关产品推荐
相关产品推荐

