Pergunta

Eu quero correr um console de Javascript no topo do V8. Como posso fazer isso?

Foi útil?

Solução

V8 é fácil de construir e não vem com a sobrecarga Java VM do interpretador Javascript independente da Mozilla. Felizmente, V8 vem com o código para a construção de um console. Aqui é como construir esta:

$> svn co http://v8.googlecode.com/svn/trunk v8-trunk
...
$> cd v8-trunk
$> scons
$> g++ ./samples/shell.cc -o v8-shell -I include libv8.a 

Agora, temos um binário autônomo chamado v8-shell.

A execução do console:

$> ./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()

A execução Javascript a partir da linha de comando:

$> ./v8-shell -e 'print("10*10 = " + 10*10)'
10*10 = 100

Muitos recursos mais estão documentadas na ajuda:

$> ./v8-shell --help
Usage:
...

Outras dicas

Para construir o console do desenvolvedor, ao invés do exemplo 'shell' application brinquedo, copiar e colar o abaixo comandos para o seu 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 instruções irá trabalhar para Ubuntu / Debian com um kernel "genérico". Para outras distribuições, você terá de substituir o comando apt-get com qualquer ferramenta de pacotes que você tem disponível. Em sistemas de 64 bits pode ser necessário adicionar arch=x64. A opção console=readline permite a href="http://www.gnu.org/s/readline/" rel="noreferrer"> sistema , para torná-lo se sentir um pouco mais como um shell padrão.

documentação mais completa aqui: http://code.google.com/apis/v8/build.html


Nota:

enter descrição da imagem aqui

Veja também: Edifício v8 com GYP

Como sobre a execução de JavaScript V8 via linha de comando usando node.js ?

Node.js usos V8 como ele do motor e adiciona um monte de funcionalidade em cima dela.


Por exemplo, no Mac OSX se você tiver Homebrew instalado, basta problema:

    $ brew install node
    $ node
    > 

No Mac OS X a certeza de ter brew instalado. Em seguida, basta executar o comando (sudo) brew install v8, dependendo de sua máquina pode levar algum tempo. Para iniciar o console V8, basta executar v8 - Voilà

Dica: Para sair do console, apenas quit() correr e não se esqueça os parênteses

Eu acho que isso pode ter mudado. I ler a manual e v8 construção como esta:

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

acrescentou export PATH=${PATH}:/home/moose/Downloads/v8-trunk/out/ia32.release ao meu .bashrc

moose@pc08 ~ $ source ~/.bashrc
moose@pc08 ~ $ d8 A_tic_tac_toe_Tomek.js < A-small-practice.in

(Com javascript de aditsu e A-pequena prática. a partir do Google Code Jam)

Depois de seguir as instruções de compilação ( Docs V8 Envergadura do Google ) para o seu sistema;

[v8 directory]$ cd out/native
[v8 directory]$ ./shell (sample shell)
[v8 directory]$ ./d8 (console: dumb)

Eu criei um alias na minha .bash_profile para facilitar a invocação do shell.

alias v8='/Volumes/Dev/GitHub/v8/out/native/shell'

Digitação v8 no CLI (em um novo terminal ou shell - para recarregar seu perfil bash) produz o shell v8. JavaScript no prompt de comando! :)

Se você usar ArchLinux, você pode usar pacman -S v8 para instalá-lo. Em seguida, use d8 para iniciá-lo na sua concha. Apreciá-lo.

Se você está planejando para V8 incorporar, em seguida, por todos os meios construí-lo e jogar com "D8".

Se, por outro lado, você não planeja estender V8 ou tratá-lo como opcional, então é só usar Node.js. Não se preocupe com V8 puro.

Node.js tem verdadeiramente rico I / O, extensões, as bibliotecas (como Perl CPAN, Python ovos, Ruby Gems), e da comunidade.

No caso de você gostaria de executar o seu código-fonte javascript usando o v8 do motor ou qualquer versão do mesmo, você pode utilizar o jsvu ferramenta de linha de comando. É desenvolvido e mantido por engenheiros do Google e, além disso, oferece o recurso de instalação de outros mecanismos JavaScript para além de v8 , como spidermonkey , chakracore , JavaScriptCore e xs .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top