J'écris un programme JavaScript dans Rhino qui doit charger d'autres fichiers JavaScript. Cependant, la fonction intégrée load()
La fonction charge les fichiers par rapport au répertoire actuel et je dois les charger relativement à la emplacement du script (pour que le programme puisse être appelé depuis n'importe quel répertoire).
Dans d'autres langues, j'utiliserais quelque chose comme dirname(__FILE__) + "/path/file"
mais il semble que Rhino ne dispose pas d'un système de gestion de la qualité. __FILE__
ou quelque chose de similaire. J'ai essayé d'extraire le fichier actuel d'une exception lancée, mais il est vide, c'est-à-dire que le code suivant imprime "true" :
try {
throw new Error();
} catch (e) {
print(e.fileName === "");
}
J'ai essayé de regarder les sources de l'interpréteur et d'utiliser le pont Java-JavaScript, mais je n'ai encore rien trouvé d'utile (je vais probablement chercher davantage).
Quelqu'un a-t-il une astuce pour faire fonctionner le chargement de fichiers sur des chemins relatifs ?