fs.writeFileSync在Windows上给ENOENT错误

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

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列出的文件path是正确和有效的。 而且,这在Mac OS X上的工作方式完全是我想要的。

任何帮助将不胜感激。 谢谢!

我愚蠢地使用

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

而不是非常有用的

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

通过不使用这个path,我没有考虑到Windows中不同的path分隔符。

非常感谢@MykolaBorysyuk!