Я хотел бы проверить, существует ли файл в NodeJS.
Я видел это решение в другом посте:
const tryRequire = (path) => {
try {
return require(`${path}`);
} catch (err) {
return null;
}
};
Но действительно ли это хорошо?решение?
В моем случае я проверяю много файлов , поэтому я собираюсь импортировать с требованием каждый файл, который я проверю (так много файлов).Я просто хочу знать, существует файл или нет, и не импортировать его.
Как я могу это сделать?
РЕДАКТИРОВАТЬ:
Я подробно объясняю свою проблему.
Я нахожусь в проекте Symfony and React. Я новичок в React.
Есть возможность загружать изображения в чат.При загрузке изображения я вызываю маршрут Symfony.В этом маршруте я использую пакет Liip Imagine.Поэтому я делаю что-то вроде этого для кэширования изображения:
public function new(Request $request, SerializerInterface $serializer): Response
{
$rewardImagePath = $this->uploaderHelper->asset($media, 'imageFile');
if($rewardImagePath) {
$cacheImagePath = $this->cacheManager->getBrowserPath($rewardImagePath, 'live_feed_message');
}
}
Проблема в том, что функция getBrowserPath выдает мне URL будущего кэшированного файла.Но создание файла занимает значительное время (например, 5/10 секунд).Итак, у меня передо мной новое сообщение чата, но на самом деле связанный файл не существует на сервере.Таким образом, он отображает сообщение без изображения.
По некоторым неизвестным причинам, если я делаю какое-то время, файл существует в этом контроллере, у меня есть тайм-аут, и файл никогда не создается.Вот почему я пытаюсь проверить существование файла на стороне реакции.