2010-04-20 4 views
3

Existe-t-il un moyen de lire un ensemble de fichiers JavaScript et d'afficher une description de l'emplacement de chaque fonction/méthode?Rechercher et répertorier toutes les fonctions/méthodes dans un ensemble de fichiers JavaScript

Je me rends compte que cela est probablement impossible en toute généralité, en raison de la nature dynamique extrême de la langue. Ce que j'imagine est quelque chose qui obtient les cas (relativement) simples. Idéalement, je voudrais savoir où, p. une méthode a été attachée à une chaîne ou un hachage ou à une autre classe fondamentale (et vous permet également de trouver toutes les classes/fonctions qui sont définies une fois dans un endroit).

Un tel outil existe-t-il?

+0

voulez-vous faire cela en utilisant javascript (côté client) seulement? –

+0

La base de code en question est pour une application Web côté client, mais je serais bien avec le côté client ou serveur s'il y avait une option. Merci. –

Répondre

0

Essayez Eclipse (avec JSDT) ou Aptana.

La vue Plan d'un fichier JavaScript permet d'afficher les fonctions et les hiérarchies d'objets. Cela ne fonctionnera que pour un seul fichier js, et il semblerait que vous cherchiez plus d'un rapport, alors je suppose que je dois vous demander quel est votre but ultime.

+0

Je travaille sur une base de code JS existante, qui extrait quelques bibliothèques (jQuery + parties de MooTools), puis ajoute un tas de méthodes aux classes de base (comme, par exemple, hash). Il y a beaucoup, beaucoup de fichiers inclus dans chaque page Web. Je voudrais passer cet ensemble de fichiers à un outil et le faire me dire où les choses sont définies, donc je peux lire le code et, par exemple, trouver la définition d'une méthode que je vois utilisée. Est-ce que cela a du sens? –

+0

Malheureusement, de nombreuses bibliothèques utilisent maintenant des étendues et des espaces de noms pour masquer les définitions de fonctions, ce qui n'est pas aussi faisable qu'autrefois. – bobince

0

Je ne suis pas sûr si cela va sortir quelque chose sans commentaires de documentation, mais vous pouvez essayer YUI Doc.

Questions connexes