Réponses:
La version V8 est facile à construire et ne vient pas avec la surcharge de machine virtuelle Java de l'interpréteur Javascript autonome de Mozilla. Heureusement, le V8 est livré avec un code pour la construction d'une console. Voici comment construire ceci:
$> svn co http://v8.googlecode.com/svn/trunk v8-trunk ... $> cd v8-coffre $> scons $> g ++ ./samples/shell.cc -o v8-shell -Je comprend libv8.a
Maintenant, nous avons un binaire autonome appelé v8-shell
.
Exécution de la console:
$> ./v8-shell V8 version 2.0.2 > var x = 10; > x dix > fonction foo (x) {return x * x; } > foo function foo (x) {retourne x * x; } > quitter ()
Exécution de Javascript depuis la ligne de commande:
$> ./v8-shell -e 'print ("10 * 10 =" + 10 * 10)' 10 * 10 = 100
De nombreuses autres fonctionnalités sont documentées dans l'aide:
$> ./v8-shell --aide Usage: ...
d8
. Voir ma réponse pour plus d'informations.
Pour construire la console développeur, plutôt que l'exemple d'application jouet «shell», copiez-collez les commandes ci-dessous dans votre terminal.
sudo apt-get install subversion scons libreadline-dev
svn co http://v8.googlecode.com/svn/trunk v8
cd v8/
scons console=readline d8
Ces instructions fonctionneront pour Ubuntu / Debian avec un noyau "générique". Pour les autres distributions, vous devrez remplacer la commande apt-get par n'importe quel outil de package dont vous disposez. Sur les systèmes 64 bits, vous devrez peut-être ajouter arch=x64
. L' console=readline
option active le système readline , pour qu'il se sente un peu plus comme un shell standard.
Une documentation plus complète ici: http://code.google.com/apis/v8/build.html
Remarque:
Voir aussi: Construire v8 avec GYP
arch=x64
pour construire sur ubuntu 64 bits.
./d8
.
Que diriez-vous d'exécuter V8 Javascript via la ligne de commande en utilisant node.js ?
node.js utilise la v8 comme moteur et ajoute de nombreuses fonctionnalités en plus.
Par exemple sur Mac OSX si Homebrew est installé, émettez simplement:
$ brew install node
$ node
>
Sur Mac OS X, assurez-vous d'avoir brew
installé. Ensuite, exécutez simplement la commande (sudo) brew install v8
, en fonction de votre machine, cela peut prendre un certain temps. Pour démarrer la console V8, lancez simplement v8
- Voilà!
Astuce: pour quitter la console, lancez simplement quit()
et n'oubliez pas les parenthèses!
Ctrl-D
pour quitter :)
Ctrl-C
pour le tuer
Je pense que cela a peut-être changé. J'ai lu le manuel et construit la v8 comme ceci:
moose@pc08$ svn co http://v8.googlecode.com/svn/trunk v8-trunk
moose@pc08$ cd v8-trunk
moose@pc08$ make dependencies
moose@pc08$ make ia32.release
ajouté export PATH=${PATH}:/home/moose/Downloads/v8-trunk/out/ia32.release
à mon .bashrc
moose@pc08 ~ $ source ~/.bashrc
moose@pc08 ~ $ d8 A_tic_tac_toe_Tomek.js < A-small-practice.in
(Avec javascript d' aditsu et A-small-practice.in de Google Code Jam)
Après avoir suivi les instructions de construction ( Google V8 Build Docs ) pour votre système;
[v8 directory]$ cd out/native
[v8 directory]$ ./shell (sample shell)
[v8 directory]$ ./d8 (console: dumb)
J'ai créé un alias dans mon .bash_profile pour faciliter l'invocation du shell.
alias v8='/Volumes/Dev/GitHub/v8/out/native/shell'
Taper v8 sur la CLI (dans un nouveau terminal ou shell - pour recharger votre profil bash) donne le shell v8. JavaScript à l'invite de commande! :)
Si vous souhaitez exécuter votre code source javascript à l'aide du moteur v8 ou de toute version de celui-ci, vous pouvez utiliser l' outil de ligne de commande jsvu . Il est développé et maintenu par les ingénieurs de Google et, en plus, il offre la possibilité d'installer d'autres moteurs javascript en dehors de la v8 , tels que spidermonkey , chakracore , javascriptcore et xs .
Si vous prévoyez d'intégrer le V8, alors construisez-le et jouez avec "d8".
Si, d'un autre côté, vous ne prévoyez pas d'étendre V8 ou de le traiter comme facultatif, utilisez simplement Node.JS. Ne vous embêtez pas avec du V8 pur.
Node.js possède des E / S, des extensions, des bibliothèques (comme Perl CPAN, Python Eggs, Ruby Gems) et une communauté vraiment riches.
-lpthread
à lag++
commande sous ubuntu 10.04.