Ошибка отладки Visual Studio: ENOENT: нет такого файла или каталога, открыть

#node.js #debugging #visual-studio-code #visual-studio-debugging #vscode-debugger

#node.js #отладка #visual-studio-code #visual-studio-debugging #vscode-debugger

Вопрос:

Я создаю сервер узлов (без Express), и у меня проблема, которая появляется ТОЛЬКО во время отладки, и в противном случае работает нормально.

В принципе, он не может найти файл (index.html ) Я пытаюсь служить, и это дает мне:

 "Sorry, check with the site admin for error: Error: ENOENT: no such file or directory, open './public/index.html' .."
  

Код (переключение маршрутизации, затем ответ запроса)

 switch (filePath) {
  case "./main.css":
    filePath = "./public/main.css";
    res.writeHead(200, { "Content-type": "text/css" });
    break;
  case "./main.js":
    filePath = "./public/main.js";
    res.writeHead(200, { "Content-type": "application/javascript" });
    break;
  case "./":
    filePath = "./public/index.html"; //FILE TRYING TO SERVE <====
    res.writeHead(200, { "Content-type": "text/html" });
}

fs.readFile(filePath, function (error, content) {
  if (error) {
    if (filePath == "./favicon.ico") {
      res.writeHead(200, { "Content-Type": "image/x-icon" });
      res.end();
      console.log("favicon reqed");
      return;
    } else {
      // BELOW IS THE ERROR MESSAGE <=========
      res.end(
        "Sorry, check with the site admin for error: "   error   " ..n"
      );

      console.log("file path "   filePath);
      // outputs: "file path ./public/index.html" as I expected

      console.log("current dir "   __dirname);
      // outputs correct directory here.
    }
  } else {
    res.end(content, "utf-8");
  }
});
  

запустите конфигурацию отладчика.json

 {
  "type": "node",
  "request": "launch",
  "name": "Launch Program",
  "skipFiles": ["<node_internals>/**"],
  "program": "${workspaceFolder}/...PATH/IS/CORRECT.../milestone2_app/app.js",
  "console": "integratedTerminal"
}
  

Я озадачен, поскольку приложение работает нормально, если я просто запускаю> узел app.js без отладчика, так что я не думаю, что проблема в патчинге. Я запускаю vscode на macOS, если это имеет значение.

Спасибо за любые входные данные,