fs.readFileSync无法读取nodejs中的文件传递路径变量

时间:2019-06-24 21:32:50

标签: node.js filesystems fs

我正在尝试使用fs读取xml文件。在将路径变量作为该函数的第一个参数传递后,我无法使用fs.readFileSync读取文件。 注意:这是在Windows机器中

pull

更新文件

xmlFile="C:\Users\xyz\AppData\Local\.proxySettings.xml";
function myFunc(xmlFile) {
 let xmlData = fs.readFile(xmlFile);
 alert(xmlData);//doesn't print anything

 parser = new DOMParser();
 xmlDoc = parser.parseFromString(xmlData,"text/xml");
....
....
}

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <proxy_port>2582</proxy_port>


1 个答案:

答案 0 :(得分:1)

在JavaScript中,反斜杠字符用于表示紧随其后的字符应被特殊对待。为了在JavaScript字符串中创建文字反斜杠,您需要使用另一个反斜杠对反斜杠进行转义。

var a = "\abc";
console.log(a); // abc
var b = "\\abc";
console.log(b); // \abc
var c = "\"abc\"";
console.log(c); // "abc"

xmlFile="C:\\Users\\xyz\\AppData\\Local\\.proxySettings.xml";
console.log(xmlFile); // C:\Users\xyz\AppData\Local\.proxySettings.xml

因此,Windows路径名在JavaScript中始终需要双反斜杠