Node.js读取本地SVG文件转字符串遇XMLSerializer未定义问题
问题解决:XMLSerializer is not defined 报错处理
错误原因
XMLSerializer是浏览器环境特有的API,Node.js运行环境中不存在这个全局对象,直接调用会抛出ReferenceError。且你用fsPromises.readFile读取的SVG文件本身就是文本内容,完全不需要通过XMLSerializer处理。
修正后的代码
要获取你期望的SVG字符串格式,直接读取并格式化内容即可:
const svgFile = await fsPromises.readFile(`./icons/${directoryName}/${iconName}`, 'utf8') console.log(JSON.stringify(svgFile))
简要说明
- 给
readFile添加'utf8'参数,直接拿到字符串格式的文件内容,省去Buffer转字符串的步骤 - 用
JSON.stringify()包裹结果,就能生成带转义引号的目标字符串格式
内容的提问来源于stack exchange,提问作者Tim Langner
相关产品推荐
相关产品推荐

