Проблема с чтением текстового файла через JavaScript в Java проекте

Не удается загрузить файл из статической папки

Работаю с проектом на Java Spring Boot, где использую JavaScript код. Мне нужно прочитать файл с расширением txt из папки static, но возникают проблемы.

Код отлично работает когда я тестирую его в Visual Studio Code, но в рамках Java проекта перестает функционировать. Похоже что функция require не может найти нужные модули.

Мой код:

const fileSystem = require("fs");
const readTextFile = async () => {
  try {
    const fileContent = await fileSystem.promises.readFile("companyData.txt", {
      encoding: "utf-8",
    });
    console.log(fileContent);
  } catch (err) {
    console.error(err);
  }
};
readTextFile();

Пробовал также указывать полный путь через require(path), но результат тот же.

Вопросы:

  • Как правильно читать файл в контексте Java проекта?
  • Какие есть способы отладки кроме alert?

Ты путаешь серверный и клиентский JS. fs работает только в Node.js, в браузере его нет. Если код выполняется в браузере - создай endpoint в контроллере, который вернет содержимое файла, и используй fetch. Или просто положи файл в static и делай обычный HTTP запрос к /companyData.txt.

Ты точно используешь Node.js на бэкенде? В браузере require не работает - там нужен fetch или XMLHttpRequest для чтения файлов. Попробуй через REST контроллер в спринге файл отдать?

Проблема в том, что ты смешиваешь Node.js с браузером. В Spring Boot твой JavaScript работает в браузере, где нет fs и require. Для файлов из static используй fetch API: fetch('/companyData.txt').then(response => response.text()). Файл кидай в src/main/resources/static/. Для отладки - console.log и F12 в браузере, все ошибки будут в Console.