fs.writeFileSync在Windows上发出ENOENT错误

时间:2016-08-03 19:37:55

标签: node.js fs

我有一个相当简单的调用来编写一个文件(如果需要,创建目录结构)。

writeFileSync(fileName, output, { flag: "w" });

在Mac OS X上,这可以正常工作......但是,在Windows上,我收到ENOENT错误:

fs.js:549   
return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);

Error: ENOENT: no such file or directory, open 'C:\mydir\myfile.json'
at Error (native)
at Object.fs.openSync (fs.js:549:18)
at Object.fs.writeFileSync (fs.js:1156:15)
at ...
at FSReqWrap.oncomplete (fs.js:82:15)

我真的不知所措b / c列出的文件路径是正确有效的。而且,这完全符合我在Mac OS X上的要求。

非常感谢任何帮助。 谢谢!

1 个答案:

答案 0 :(得分:2)

我愚蠢地使用

mySimpleArrayOfStrings.join('/'); // not the way to build a path

而不是非常有用的

path.join(...); // This is much better! Use this...

通过不使用此路径,我没有考虑Windows中不同的路径分隔符。

非常感谢@MykolaBorysyuk!