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!