You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js 6.0中appendFile的${user.username}无法识别$符号,如何写入用户名?

问题解答:Node.js 6中模板字符串未解析的原因

嘿,这个问题我太熟啦!你遇到的问题核心是字符串类型的区别,Node.js 6其实已经支持ES6的模板字符串了,但你用错了引号类型~

为什么美元符号$不被识别?

在JavaScript里,只有用**反引号()**包裹的字符串才是模板字符串,才能通过${变量名}的语法插入变量值。而你用的双引号(")属于普通字符串,里面的${user.username}`会被当成纯文本直接写入文件,不会被解析成对应的用户名。

修改后的正确代码

把包裹变量的双引号换成反引号就行,另外建议加上错误处理的回调函数(这是Node.js异步API的最佳实践):

const os = require('os');
const fs = require('fs');
var user = os.userInfo();
fs.appendFile("message.txt", `${user.username}`, (err) => {
  if (err) throw err;
  console.log('用户名已成功写入文件!');
});

额外小提示

Node.js 6对ES6特性的支持是比较完善的,模板字符串完全没问题,但要注意:

  • 模板字符串必须用反引号,不能用单/双引号
  • 如果需要插入复杂表达式,也可以放在${}里,比如${user.username.toUpperCase()}

内容的提问来源于stack exchange,提问作者user8690050

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:51:32