【问题标题】:Node: Using fs.readFile getting Error: EISDIR: illegal operation on a directory, read节点:使用 fs.readFile 获取错误:EISDIR:对目录的非法操作,读取
【发布时间】:2020-10-03 11:43:21
【问题描述】:

我无法让fs.readFile 返回一个 css 文件。我已经在this SO post 中读到EISDIR error 在您尝试打开文件时发生,但给出的路径是一个目录。但是我已经检查了几次,getCss 函数中的console.log 正在使用正确的文件名和.css 扩展名记录正确的路径。有什么问题?提前致谢!

// Path to MUI css
muiCssFile = path.join(muiDistFolder, 'css', 'mui.css'),  


// Read css files
function getCss(callback) {
  console.log('MUI CSS file path in getCss() :: ', muiCssFile);
  // Code fails here.... 
  fs.readFile(muiCssFile, 'utf8', function (err, css) {
    if (err) {
      return callback(err);
    }
    fs.readFile(styleFile, function (error, customCss) {
      if (error) return callback(error);
      callback(null, css + customCss);
    });
  });

}

【问题讨论】:

  • 您在哪一行收到错误,您有两次调用readFile
  • 第一个。
  • 尝试导航到控制台中打印的路径。如果可行,请尝试更改文件名。这可能会提供一些线索。
  • 好的。这是我的疏忽。原来它实际上是引发错误的第二个 fs.readFile 。当我检查路径变量时,它确实缺少它的扩展名,所以 readFile 认为它是一个文件夹!学过的知识。感谢您帮助调试它!

标签: javascript css node.js fs


【解决方案1】:

好的,对于任何偶然发现此错误的人,我认为为我的问题提供一个简短的答案会有所帮助。该错误很可能是由您尝试使用的一个或多个路径fs.readFile 以目录路径结尾并且不是文件造成的。

在我上面的具体案例中,错误实际上发生在第二次 fs.readFile 调用中,因此请务必先检查 ALL 路径并确保它们确实会导致文件发现问题小路。希望这可以帮助某人节省一些时间来克服这个错误。

【讨论】:

    猜你喜欢
    • 2021-07-13
    • 2020-07-25
    • 2021-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 2021-11-13
    相关资源
    最近更新 更多