如何避免Node.js保存字符串时转义斜杠被剥离?
解决Node.js保存文件时转义字符被剥离的问题
要避免Node.js保存文件时剥离转义字符,可采用以下几种实用方法:
手动双转义反斜杠
在JavaScript字符串中,单个\是转义符,要让文件中保留实际的\,需要用\\代替。修改你的字符串模板,把所有\"替换为\\":const template = '"echo": "echo \\"$PWD\\""'; fs.writeFileSync('target.txt', template);写入后文件内容会保留正确的
"echo": "echo \"$PWD\""。使用ES2024原始字符串(高版本Node.js支持)
若你的Node.js版本支持ES2024的原始字符串语法,可直接用String.raw创建不解析转义序列的字符串:const template = String.raw`"echo": "echo \"$PWD\""`; fs.writeFileSync('target.txt', template);原始字符串会原样保留所有字符,包括转义用的
\。通过JSON对象生成内容(推荐)
如果你要生成JSON格式内容,不要手动拼接字符串,先构造JavaScript对象,再用JSON.stringify处理,它会自动添加正确的转义符:const config = { echo: 'echo "$PWD"' }; fs.writeFileSync('config.json', JSON.stringify(config, null, 4));最终文件会自动生成
"echo": "echo \"$PWD\"",无需手动处理转义。
内容的提问来源于stack exchange,提问作者Ole
相关产品推荐
相关产品推荐

