簡體   English   中英

節點FS ENOENT錯誤

[英]Node FS ENOENT error

我正在嘗試使此腳本創建目錄,然后在其中編寫內容。 簡單的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');
}

. . .
fs.stat(logsDir, function(err,stat){
    try{
    if(err)
    {
        var e = err.code;
        throw e;
    }
        }
        catch(e)
        {
          if(e == 'ENOENT')
            {
             fs.mkdir(logsDir);   
            }
        else
            {
        console.log('Some other error   ' + err.code);
            }  
        }
});

fs.stat(logAccess, function(err,stat){
    try{
    if(err)
    {
        var e = err.code;
        throw e;
    }
        }
        catch(e)
        {
          if(e == 'ENOENT')
            {
             fs.writeFileSync(logAccess, 'die', 'utf8');   
            }
        else
            {
        console.log('Some other error   ' + err.code);
            }  
        }
});
var fs = require('fs');
var express = require("express");
var app = express();
var logsDir = './logs/';
var logAccess = logsDir + 'stuff.log';

 function directoryExits(logsDir){
 try {   
 return fs.statSync(logsDir).isDirectory();   
 } catch (err) {
 return false;
 }
}

  function fileExits(logAccess){
  try {   
   return fs.statSync(logAccess).isFile();     
   } catch (err) {
    return false;
   }
 }

var statsDir = directoryExits(logsDir);
var statsFile = fileExits(logAccess);
  if(!statsDir)
  {
  fs.mkdirSync(logsDir);   
  console.log("Directory Created")
  }
  else
  console.log('Directory already exists'); 
    if(!statsFile)
    {
    fs.writeFileSync(logAccess, 'die', 'utf8');
    }
    else
    console.log('File already exists');


app.listen(4000, function(){
console.log('Server running '); 
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM