web-dev-qa-db-fra.com

Est-il possible d'exécuter des fichiers JavaScript à partir de la ligne de commande?

J'ai plusieurs fichiers JS donc au lieu de copier et coller chacun dans la fenêtre de la console (Firefox et Chromium), je voudrais les appeler depuis le Shell si c'est possible.

Chaque fichier JS possède des fonctions de test qui indiquent si elles sont correctes à l'aide de console.log.

37
user1243746

Si vos tests ont besoin d'accéder à un DOM, il y a toujours PhantomJS - un navigateur sans tête (Webkit).

16
Matt

Extension de la solution pour utiliser Node.js…

Voici quelques exemples et captures d'écran d'une page sur Command Line JavaScript .

Le Node REPL (Shell)

Si vous entrez node sur la ligne de commande sans arguments, vous serez dans la boucle Read-Eval-Print-Loop, ou REPL pour faire court, autrement connu sous le nom de Shell Ici, vous pouvez saisir de manière interactive des expressions JavaScript et les faire évaluer immédiatement.

Node REPL (Shell)

Évaluer un fichier JavaScript à partir de la ligne de commande

Créez un fichier avec le contenu suivant:

console.log('Hello, world');

Depuis la ligne de commande, utilisez node pour évaluer le fichier:

Evaluate a JavaScript file

63
Beau Smith

Vous pouvez le faire en utilisant node.js . Vous pouvez exécuter chaque fichier séparément, mais bien sûr, je suppose qu'il n'y a pas de dépendance entre les fichiers.

Cette ligne de commande Windows javascript traite de l'utilisation de l'hôte de script Windows si vous êtes sous Windows et ne souhaitez pas installer Node. Mais Node est probablement le meilleur pari pour js standardisé (il utilise le moteur Javascript v8).

6
craigmj

Je ne dis pas que c'est la meilleure solution mais c'est l'une des options disponibles. Je veux juste diffuser la sensibilisation et l'une des raisons pour lesquelles c'est comment Java exécute javascript car il a déjà un runtime JavaScript intégré. Il y avait d'abord Rhino, et maintenant, Java SE 8 livré avec un nouveau moteur appelé Nashorn , basé sur JSR 292 et invokedynamic. Il offre une meilleure conformité avec l'ECMA normalisé Spécification JavaScript et meilleures performances d'exécution via des sites d'appel liés à la dynamique invoquée. Elle peut être utilisée pour exécuter des programmes JavaScript à partir de la ligne de commande. Pour ce faire, les versions du JDK ou d'OpenJDK d'Oracle incluent un outil de ligne de commande appelé jjs . Il peut être trouvé dans le dossier bin/d'une installation JDK avec les outils Java, javac ou jar bien connus.

L'outil jjs accepte une liste de fichiers de code source JavaScript comme arguments. Considérez le fichier hello.js suivant:

var hello = function() {
  print("Hello Nashorn!");
};

hello(); 

L'évaluer est aussi simple que cela:

$ jjs hello.js
Hello Nashorn!
$

Pour plus de détails, vous pouvez consulter la documentation officielle http://www.Oracle.com/technetwork/articles/Java/jf14-nashorn-2126515.html

6
Rohit Luthra

Oui, cela peut être possible avec node. Créez simplement un fichier js, écrivez du code, enregistrez-le et accédez au répertoire dans lequel vous avez enregistré votre fichier, puis entrez node <your file_name>. Vous avez terminé. Remarque: Vous devez avoir node installé sur votre système.

5

Pour ceux qui sont pressés et sur Windows, essayez simplement la ligne de commande suivante dans l'invite de commande:

cscript /E:jscript myJavaScriptFile.js
0
primehunter