Pregunta

Quiero ejecutar una consola de Javascript sobre V8. ¿Cómo hago esto?

¿Fue útil?

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; ./v8-shell --help
Usage:
...
gt; ./v8-shell -e 'print("10*10 = " + 10*10)' 10*10 = 100
gt; ./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; 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.a

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:

ingrese la descripción de la imagen aquí

Vea también: Construyendo v8 con GYP

¿Qué tal si ejecuta V8 Javascript a través de la línea de comandos usando node.js ?

node.js usa v8 como motor y agrega una gran cantidad de funcionalidades.


Por ejemplo, en Mac OSX si tiene Homebrew instalado, simplemente emita:

    $ brew install node
    $ node
    > 

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 .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top