【发布时间】:2018-03-27 16:53:19
【问题描述】:
我试图让这个脚本创建一个目录,然后在里面写东西。简单的 XML 转储和东西。
我无法让 FS 工作。 isDirectory、createDirectory、readFile、writeFile。我在另一篇 SO 帖子中的阅读表明对 fs.stat() 进行了很多更改。
我已经设置了文件夹的权限,所以它应该没有任何权限问题(Windows)。
我检查以前的文件并创建新文件或打开它们的第一步:
. . .
var logsDir = './logs/';
var logAccess = logsDir + 'stuff.log';
try { // The code says its an ENOENT
console.log(fs.statSync(logsDir))
if (!fs.statSync(logsDir).isDirectory()) {
fs.mkdirSync(logsDir);
}
} catch (e) {
console.error('Error ' + e.code);
}
try { // Another ENOENT
if (!fs.statSync(logAccess).isFile()) {
fs.writeFileSync(logAccess, 'die', 'utf8');
}
//data = fs.readFileSync(logAccess, 'utf8');
} catch (e) {
console.error('Error errors are dumb');
}
. . .
【问题讨论】:
-
Windows 似乎无法识别“./folder”,请先尝试使用完整路径
-
试试
var logsDir = __dirname + '/logs/';您可能从不存在logs的目录调用脚本。 -
其实@usandfriends的评论比我的好,所以,你应该试试他说的。
-
我都去尝试了。两者都不起作用
-
logs是否普遍存在(在您调用脚本的目录和脚本实际所在的目录中)?