Ingernirated
@Ingernirated
Романыч

Как работают аргументы в path?

У path есть метод resolve, вот пример
const publicFolder = 'public';
const  pathname  = url.parse(req.url);
path.resolve(__dirname, publicFolder, pathname.slice(1) || 'index.html');


В документации написано, что, если в данных путях файл не найден, он обратиться к нему в корневую директорию файла, т.е. где лежит server.js.
Но он исключительно ищет его только в папке public
Подскажите пожалуйста, первые два аргумента вообще обязательны в resolve? (__dirname, publicFolder)
И почему в документации не написано про pathname.slice(1)?
  • Вопрос задан
  • 389 просмотров
Решения вопроса 1
@pekc83
Скорее всего ваш код должен выглядеть так, иначе он не имеет смысла:
const publicFolder = 'public';
const urlObject = url.parse(req.url);
path.resolve(__dirname, publicFolder, urlObject.pathname.slice(1) || 'index.html');

В документации написано, что, если в данных путях файл не найден, он обратиться к нему в корневую директорию файла,

Только вот кто, куда и за чем должен обращаться совсем не понятно.
path.resolve - всего лишь конкатенирует данные аргументы в корректный(синтаксически) путь, возвращает строку и ничего не знает о ваших файлах.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы