Ejecución de V8 Javascript Engine Standalone
-
05-07-2019 - |
Pregunta
Quiero ejecutar una consola de Javascript sobre V8. ¿Cómo hago esto?
Solución
V8 es fácil de construir y no viene con la sobrecarga de Java VM del intérprete de JavaScript independiente de Mozilla. Por suerte, V8 viene con código para construir una consola. Aquí es cómo construir esto:
gt; svn co http://v8.googlecode.com/svn/trunk v8-trunk ... <*>gt; cd v8-trunk <*>gt; scons <*>gt; g++ ./samples/shell.cc -o v8-shell -I include libv8.agt; ./v8-shell V8 version 2.0.2 > var x = 10; > x 10 > function foo(x) { return x * x; } > foo function foo(x) { return x * x; } > quit()<*>gt; ./v8-shell --help Usage: ...gt; ./v8-shell -e 'print("10*10 = " + 10*10)' 10*10 = 100
Ahora, tenemos un binario independiente llamado v8-shell
.
Ejecutando la consola:
<*>Ejecutando Javascript desde la línea de comando:
<*>Se han documentado muchas más funciones en la ayuda:
<*>Otros consejos
Para construir la consola de desarrollador, en lugar de la aplicación de juguete 'shell' de ejemplo, copie y pegue los siguientes comandos en su terminal.
sudo apt-get install subversion scons libreadline-dev
svn co http://v8.googlecode.com/svn/trunk v8
cd v8/
scons console=readline d8
Estas instrucciones funcionarán para Ubuntu / Debian con un " genérico " núcleo. Para otras distribuciones, deberá reemplazar el comando apt-get con cualquier herramienta de paquete que tenga disponible. En sistemas de 64 bits es posible que deba agregar arch = x64
. La opción console = readline
habilita el sistema readline para hacerlo Sentirse un poco más como una concha estándar.
Más documentación completa aquí: http://code.google.com/apis/v8/build.html
Nota:
Vea también: Construyendo v8 con GYP
En Mac OS X, asegúrese de tener brew
instalado. Luego simplemente ejecute el comando (sudo) brew install v8
, dependiendo de su máquina, esto puede llevar algún tiempo. Para iniciar la consola V8, simplemente ejecute v8
- ¡Voilà!
Consejo: Para salir de la consola, simplemente ejecute quit ()
y no olvide los paréntesis.
Creo que esto podría haber cambiado. leí el manual y compilo v8 así:
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
agregó export PATH = $ {PATH}: / home / moose / Downloads / v8-trunk / out / ia32.release
a mi .bashrc
moose@pc08 ~ $ source ~/.bashrc
moose@pc08 ~ $ d8 A_tic_tac_toe_Tomek.js < A-small-practice.in
(Con javascript de aditsu y A-small-practice. desde el código de Google Jam)
Después de seguir las instrucciones de compilación ( V8 Build Docs de Google ) para tu sistema;
[v8 directory]$ cd out/native
[v8 directory]$ ./shell (sample shell)
[v8 directory]$ ./d8 (console: dumb)
Creé un alias en mi .bash_profile para facilitar la invocación del shell.
alias v8='/Volumes/Dev/GitHub/v8/out/native/shell'
Al escribir v8 en la CLI (en una nueva Terminal o shell - para volver a cargar su perfil de bash) se obtiene la shell v8. JavaScript en el símbolo del sistema! :)
Si usa ArchLinux, puede usar pacman -S v8
para instalarlo.
Luego use d8
para iniciarlo en su shell.
Disfrútalo.
Si estás planeando incrustar V8, entonces, por todos los medios, compórtalo y juega con " d8 " ;.
Si, por otro lado, no planea extender V8 o tratarlo como opcional, entonces solo usa Node.JS. No te molestes con el V8 puro.
Node.js tiene E / S realmente enriquecidas, extensiones, bibliotecas (como Perl CPAN, Python Eggs, Ruby Gems) y comunidad.
En caso de que desee ejecutar el código fuente de javascript con el motor v8 o cualquier versión del mismo, puede utilizar el jsvu herramienta de línea de comandos. Es desarrollado y mantenido por los ingenieros de Google y, además, ofrece la función de instalar otros motores javascript aparte de v8 , como spidermonkey , chakracore , javascriptcore , y xs .