Je cherche dans la programmation Javascript sans navigateur. Je souhaite exécuter des scripts à partir de la ligne de commande Linux ou Mac OS X, un peu comme nous exécutons n'importe quel autre langage de script (ruby, php, perl, python ...)
$ javascript my_javascript_code.js
J'ai examiné le singe araignée (Mozilla) et la v8 (Google), mais ces deux éléments semblent être intégrés.
Quelqu'un utilise-t-il Javascript comme langage de script à exécuter à partir de la ligne de commande?
Si quelqu'un est curieux de savoir pourquoi je suis à la recherche dans ce, j'ai farfouillé Node.js . Les performances de node.js me font me demander si javascript peut être un langage de script viable pour le traitement de données volumineuses.
javascript
unix
command-line
scripting
v8
Daniel
la source
la source
Réponses:
J'ai trouvé cette question connexe sur le sujet, mais si vous voulez des liens directs, les voici:
Je suis surpris que node.js ne soit pas livré avec un shell, mais je suppose que c'est vraiment plus comme un serveur Web de rappel / événement basé sur epoll / selector, donc peut-être qu'il n'a pas besoin de l'ensemble complet de fonctionnalités JS, mais je Je ne connais pas trop son fonctionnement interne.
Puisque vous semblez intéressé par node.js et comme il est basé sur V8, il serait peut-être préférable de suivre ces instructions pour configurer un environnement V8 afin que vous puissiez avoir une base cohérente pour votre programmation JavaScript (j'espère que JSC et V8 sont principalement la même chose, mais je ne suis pas sûr).
la source
nodejs
dans le terminal donne accès à REPL.Réponse principale
Oui, pour répondre à votre question, il est possible d'utiliser JavaScript comme langage de script "normal" depuis la ligne de commande, sans navigateur. Puisque d'autres ne l'ont pas encore mentionné, je vois qu'il vaut la peine de le mentionner:
Sur les systèmes basés sur Debian (et cela inclut Ubuntu, Linux Mint et aptosid / sidux, au moins), outre les options d'installation de Rhino et d'autres déjà mentionnées, vous avez d'autres options:
Installez le
libmozjs-24-bin
package, qui vous fournira le moteur Spidermonkey de Mozilla sur la ligne de commande comme un simplejs24
, qui peut également être utilisé comme un interpréteur interactif. (Le24
dans le nom signifie qu'il correspond à la version 24 de Firefox).Installez le
libv8-dev
package, qui vous fournira le moteur V8 de Google. Il a, comme l'un de ses exemples, le fichier/usr/share/doc/libv8-dev/examples/shell.cc.gz
que vous pouvez décompresser et compiler très simplement (par exemple,g++ -Os shell.cc -o shell -lv8
).Installez le paquet
nodejs
et il sera disponible à la fois comme exécutablenodejs
et comme alternative (au sens de Debian) pour fournir l'js
exécutable. La compilation JIT est fournie avec l'aimable autorisation de V8.Installez le package
libjavascriptcoregtk-3.0-bin
et utilisez l'interpréteur JavaScriptCore de WebKit (jsc
) comme interpréteur normal à partir de la ligne de commande. Et cela sans avoir besoin d'accéder à un Mac. Sur de nombreuses plates-formes (par exemple, x86 et x86_64), cet interpréteur sera fourni avec un compilateur JIT.Ainsi, avec presque aucune compilation, vous aurez trois des moteurs JavaScript lourds à votre disposition.
Addenda
Une fois que vous avez installé les choses, vous pouvez simplement créer des fichiers avec la
#!/usr/bin/js
ligne shebang et les choses fonctionneront simplement:la source
J'ai installé Node.js sur un iMac et
in bash fonctionnera.
la source
nodejs somefile.js
depuis que j'avais installé le package nodejsJe sais que vous avez posé des questions sur Linux et Mac; Je vais fournir la réponse pour Windows, au cas où d'autres personnes intéressées par Windows trouveraient votre question.
Windows inclut un moteur Javascript qui peut être utilisé à partir de la ligne de commande.
Toutes les versions de Windows, depuis Windows 98, ont inclus quelque chose appelé «l' hôte de script Windows ». C'est une manière standard de Windows de prendre en charge les "moteurs" de script. Depuis la première version, WSH prend en charge JScript, la version de Javascript de Microsoft. Entre autres choses, cela signifie que, à partir d'une ligne de commande Windows, vous pouvez simplement appeler le nom de n'importe quel fichier * .js, et il fonctionnera dans le moteur JScript. (via wscript.exe ou cscript.exe)
la source
Puisque personne ne l'a mentionné: Depuis Java 1.6, le JDK Java est également livré avec une ligne de commande JavaScript et REPL.
Il est basé sur Rhino: https://developer.mozilla.org/en/docs/Rhino
Dans Java 1.6 et 1.7, la commande est appelée
jrunscript
(jrunscript.exe
sous Windows) et se trouve dans le dossier bin du JDK.À partir de Java 1.8, une nouvelle implémentation JavaScript est fournie (Nashorn: https://blogs.oracle.com/nashorn/ )
Donc, en Java 1.8, la commande est appelée
jjs
(jjs.exe
sous Windows)la source
FWIW, node.js est livré avec un shell, essayez de taper:
une fois que vous avez installé node.js pour le voir en action. Il est assez standard d'installer rlwrap pour le faire fonctionner correctement.
la source
Vous voudrez peut-être consulter Rhino .
Rhino Shell fournit un moyen d'exécuter des scripts JavaScript en mode batch:
la source
Je sais que c'est vieux, mais vous devriez aussi essayer Zombie.js . Un navigateur sans tête qui est incroyablement rapide et idéal pour les tests!
la source
J'utilise Ubuntu 12.10 et js depuis la ligne de commande
Il est disponible avec mon installation de java:
Quelques exemples:
Le ciel est la limite, alors continuez.
la source
PhantomJS vous permet également de le faire
http://phantomjs.org/
la source
J'ai trouvé ce moteur JS compatible ECMAScript open source vraiment astucieux entièrement écrit en C appelé duktape
Bonne chance!
la source
Eh bien, il existe JavaScript comme OSA , une extension qui fournit JavaScript comme alternative à appleScript. Je l'utilise il y a environ 10 ans, je ne sais pas si cela fonctionne toujours avec les versions actuelles du système d'exploitation
la source
JSDB , disponible pour Linux, Windows et Mac devrait plutôt bien convenir. Il utilise le moteur Javascript Spidermonkey de Mozilla et semble être moins compliqué à installer que node.js (au moins la dernière fois que j'ai essayé node.js il y a quelques années).
J'ai trouvé JSDB dans cette liste intéressante de shells Javascript: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Shells
la source