使用fs.mkdirSync函数没有创建目录 - 这里有什么问题!?
var fs = require('fs')
const path = require('path');
fs.mkdirSync(path.join("c:","b"))
console.log(fs.existsSync(path.join("c:","b")))
输出是:
/temp/file.js:3
fs.mkdirSync(path.join("c:","b"))
^
Error: ENOENT: no such file or directory, mkdir 'c:/b'
at Object.<anonymous> (/temp/file.js:3:4)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.runMain (module.js:605:10)
at run (bootstrap_node.js:418:7)
at startup (bootstrap_node.js:139:9)
at bootstrap_node.js:533:3
然后我在c:\中创建了一个目录x并执行了以下
var fs = require('fs')
const path = require('path');
console.log(fs.existsSync(path.join("c:","x")))
但又得到了:
false
答案 0 :(得分:0)
看起来您的主机操作系统是Windows,但Node.js认为它在某些符合posix的操作系统上运行,可能是由于通过Docker,Cygwin环境或新的Windows Linux环境调用。
对于Cygwin和Windows Linux环境,C:\
驱动器可以作为/c
文件夹访问:
path.join('/c', 'b')
如果这不起作用,您可以尝试强制Node.js通过执行
将路径视为win32
路径
path.win32.join('C:', 'b')