Voglio eseguire una console Javascript sulla parte superiore del V8. Come faccio a fare questo?Running V8 Javascript Engine Standalone
risposta
V8 è facile da compilare e non viene fornito con l'overhead Java VM dall'interprete Javascript standalone di Mozilla. Fortunatamente, V8 viene fornito con il codice per la creazione di una console. Ecco come costruire questo:
$> 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
Ora, abbiamo un binario autonoma denominata v8-shell
.
Esecuzione del 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()
esecuzione Javascript dalla riga di comando:
$> ./v8-shell -e 'print("10*10 = " + 10*10)' 10*10 = 100
Molte altre caratteristiche sono documentate nella guida:
$> ./v8-shell --help Usage: ...
per costruire la Console per gli sviluppatori , piuttosto che l'applicazione giocattolo 'shell' di esempio, copia e incolla i comandi sottostanti sul tuo terminale.
sudo apt-get install subversion scons libreadline-dev
svn co http://v8.googlecode.com/svn/trunk v8
cd v8/
scons console=readline d8
Queste istruzioni funzioneranno con Ubuntu/Debian con un kernel "generico". Per altre distribuzioni, è necessario sostituire il comando apt-get con qualsiasi strumento di pacchetto disponibile. Sui sistemi a 64 bit potrebbe essere necessario aggiungere arch=x64
. L'opzione console=readline
abilita il sistema readline, per farlo sembrare un po 'più simile a una shell standard.
documentazione più completa qui: http://code.google.com/apis/v8/build.html
Nota:
Consulta anche: Building v8 with GYP
Ho dovuto aggiungere 'arch = x64' per costruire su ubuntu a 64 bit. – projectshave
Cosa fa l'opzione console = readline? – Hugh
@Hugh: abilita il sistema readline; questo è ciò che ti permette di usare la freccia su per ottenere il comando precedente, tra le altre sottigliezze. – bukzor
Su Mac OS X Assicuratevi di avere installato brew
. Quindi esegui il comando (sudo) brew install v8
, a seconda della macchina, potrebbe richiedere del tempo. Per avviare la console V8, esegui semplicemente v8
- Voilà!
Suggerimento: Per uscire dalla console, è sufficiente eseguire quit()
e non dimenticare le parentesi!
Se si utilizza ArchLinux, è possibile utilizzare pacman -S v8
per installarlo. Quindi utilizzare d8
per avviarlo nella shell. Buon divertimento.
Questo sembra essere su AUR quindi non può essere installato con pacman. – Colliot
Che ne dici di eseguire V8 Javascript tramite riga di comando utilizzando node.js?
node.js utilizza v8 come motore e aggiunge molte funzionalità su di esso.
Per esempio su Mac OSX se avete Homebrew installato, è sufficiente problema:
$ brew install node
$ node
>
IMHO node.js è il nuovo standard defacto quando si tratta di console JavaScript. Usa v8, ed è probabilmente l'opzione migliore da usare per questo. – Tracker1
Se hai intenzione di incorporare V8, quindi con tutti i mezzi costruire e giocare con "D8".
Se invece non si prevede di estendere V8 o trattarlo come facoltativo, quindi utilizzare solo Node.JS. Non preoccuparti di V8 puro.
Node.js ha veramente ricchi I O, estensioni, librerie/(come il Perl CPAN, Python uova, Rubino gemme), e la comunità.
Non è necessario utilizzare node.js, è solo un wrapper e una dipendenza extra. – b01
Dopo aver seguito le istruzioni di compilazione (Google's V8 Build Docs) per il sistema;
[v8 directory]$ cd out/native
[v8 directory]$ ./shell (sample shell)
[v8 directory]$ ./d8 (console: dumb)
ho creato un alias nel mio .bash_profile per facilitare invocazione del guscio.
alias v8='/Volumes/Dev/GitHub/v8/out/native/shell'
Digitando v8 alla CLI (in un nuovo terminale o shell - per ricaricare il vostro profilo bash) produce il guscio v8. JavaScript al prompt dei comandi! :)
Penso che questo potrebbe essere cambiato. I read the manual e costruire v8 come questo:
[email protected]$ svn co http://v8.googlecode.com/svn/trunk v8-trunk
[email protected]$ cd v8-trunk
[email protected]$ make dependencies
[email protected]$ make ia32.release
aggiunto export PATH=${PATH}:/home/moose/Downloads/v8-trunk/out/ia32.release
alla mia .bashrc
[email protected] ~ $ source ~/.bashrc
[email protected] ~ $ d8 A_tic_tac_toe_Tomek.js < A-small-practice.in
(con JavaScript da aditsu e A-small-practice.in da Google Code Jam)
Una pagina piena di risposte e la tua, la meno considerata, contiene il consiglio finale di cui avevo bisogno. –
- 1. Running Javascript with CScript?
- 2. Google Javascript V8 - multithreading
- 3. regex Javascript si blocca (usando v8)
- 4. Simple JavaScript Physics Engine
- 5. JavaScript `standalone evento onscroll` (senza basamento)
- 6. Running Blanket.js
- 7. Incorpora V8 nell'applicazione OpenCL?
- 8. Node.js e V8 garbage collection
- 9. Chiamare la funzione Javascript da un callback C++ in V8
- 10. Accesso al numero di riga in V8 JavaScript (Chrome & Node.js)
- 11. Come passare l'oggetto alla richiamata JavaScript in V8
- 12. Lanciare un'eccezione JavaScript dal codice C++ utilizzando Google V8
- 13. sqlplus print running statement
- 14. Running Hudson su EC2
- 15. Running nodejs in nginx
- 16. Spark Kill Running Application
- 17. Running gunicorn su https?
- 18. Metodo "touch" standalone jQuery?
- 19. Quali sono gli strumenti di compressione JavaScript standalone?
- 20. Manipolazione del V8 ast
- 21. v8 delega ReferenceError
- 22. Come bloccare "V8?
- 23. Edificio v8 senza JIT
- 24. Running Gradle Build Molto lungo
- 25. PHP - Long Running Background Task
- 26. Running tomcat con eclipse kepler
- 27. Running Gearman Workers in background
- 28. Running ColdFusion come utente specifico
- 29. Utilizzando socket.io standalone senza node.js
- 30. Java EE vs Standalone
Grazie per la punta e le istruzioni esplicite. Ho dovuto aggiungere l'opzione '-lpthread' al comando' g ++ 'sotto ubuntu 10.04. – intuited
scons non è riuscito su Ubuntu, ma eseguendo sudo apt-get install libc6-dev-i386 l'ha risolto. –
e se su x86_64 fai un: 'scons arch = x64' fino a quando è stato corretto nel bagagliaio http://code.google.com/p/v8/issues/detail?id=429#c1 – EdH