Я пишу программу на JavaScript на Rhino, которая должна загружать другие файлы JavaScript. Однако встроенная функция load()
загружает файлы относительно текущего каталога , и мне нужно загрузить их относительно местоположения скрипта (чтобы программа могла называться любой каталог).
В других языках я бы использовал что-то вроде dirname(__FILE__) + "/path/file"
, но похоже, что у Rhino нет __FILE__
или чего-то подобного. Я попытался извлечь текущий файл из сгенерированного исключения, но он пуст, то есть следующий код выводит «true»:
try {
throw new Error();
} catch (e) {
print(e.fileName === "");
}
Я пытался посмотреть на источники интерпретатора и использовать мост Java-JavaScript, но пока не нашел ничего полезного (вероятно, я посмотрю больше).
У кого-нибудь есть совет, как сделать так, чтобы загрузка файлов по относительным путям работала?