Correndo V8 Javascript Motor Standalone
-
05-07-2019 - |
Pergunta
Eu quero correr um console de Javascript no topo do V8. Como posso fazer isso?
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:
Veja também: Edifício v8 com GYP
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 .