Запуск V8 Javascript Engine Автономный - PullRequest
124 голосов
/ 26 ноября 2009

Я хочу запустить консоль Javascript поверх V8. Как мне это сделать?

Ответы [ 9 ]

114 голосов
/ 26 ноября 2009

V8 прост в сборке и не поставляется с издержками Java VM от автономного интерпретатора Javascript в Mozilla. К счастью, V8 ​​поставляется с кодом для сборки консоли. Вот как это построить:

$> 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 

Теперь у нас есть отдельный двоичный файл с именем v8-shell.

Запуск консоли:

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

Выполнение Javascript из командной строки:

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

В справке задокументированы многие другие функции:

$> ./v8-shell --help
Usage:
...
58 голосов
/ 31 декабря 2010

Чтобы создать консоль разработчика, а не пример игрушечного приложения 'shell', скопируйте и вставьте приведенные ниже команды в свой терминал.

sudo apt-get install subversion scons libreadline-dev
svn co http://v8.googlecode.com/svn/trunk v8
cd v8/
scons console=readline d8

Эта инструкция будет работать для Ubuntu / Debian с «общим» ядром. Для других дистрибутивов вам нужно будет заменить команду apt-get на любой доступный вам пакетный инструмент. В 64-битных системах вам может понадобиться добавить arch=x64. Опция console=readline включает систему readline , чтобы она выглядела как стандартная оболочка.

Более полная документация здесь: http://code.google.com/apis/v8/build.html


Примечание:

enter image description here

См. Также: Сборка v8 с GYP

43 голосов
/ 18 января 2012

Как насчет запуска Javascript V8 через командную строку, используя node.js ?

node.js использует v8 в качестве движка и добавляет множество функций поверх него.


Например, в Mac OSX, если у вас установлена ​​ Homebrew , просто введите:

    $ brew install node
    $ node
    > 
23 голосов
/ 21 апреля 2011

В Mac OS X обязательно установите brew. Затем просто введите команду (sudo) brew install v8, в зависимости от вашей машины это может занять некоторое время. Чтобы запустить консоль V8, просто запустите v8 - Voilà!

Подсказка: Чтобы выйти из консоли, просто запустите quit() и не забывайте скобки!

5 голосов
/ 26 апреля 2013

Я думаю, что это могло измениться. Я прочитал руководство и собрал v8 так:

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

добавлено export PATH=${PATH}:/home/moose/Downloads/v8-trunk/out/ia32.release к моему .bashrc

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

(С javascript от aditsu и A-small-practice.in от Google Code Jam)

4 голосов
/ 12 июля 2012

После выполнения инструкций по сборке ( Документы по сборке Google V8 ) для вашей системы;

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

Я создал псевдоним в своем .bash_profile для облегчения вызова оболочки.

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

Ввод v8 в CLI (в новом терминале или оболочке - для перезагрузки вашего профиля bash) приводит к оболочке v8. JavaScript в командной строке! :)

3 голосов
/ 13 января 2012

Если вы используете ArchLinux, вы можете использовать pacman -S v8 для его установки. Затем используйте d8, чтобы запустить его в вашей оболочке. Наслаждайся этим.

2 голосов
/ 16 июня 2012

Если вы планируете встроить V8, то обязательно соберите его и поиграйте с «d8».

Если, с другой стороны, вы не планируете расширять V8 или рассматривать его как дополнительный, тогда просто используйте Node.JS. Не беспокойтесь о чистом V8.

Node.js имеет по-настоящему богатый ввод-вывод, расширения, библиотеки (такие как Perl CPAN, Python Eggs, Ruby Gems) и сообщество.

1 голос
/ 02 апреля 2019

Если вы хотите запустить исходный код javascript с использованием механизма v8 или любой его версии, вы можете использовать инструмент командной строки jsvu . Он разработан и поддерживается инженерами Google и, кроме того, предлагает функцию установки других механизмов JavaScript, кроме v8 , таких как spidermonkey , chakracore , javascriptcore и xs .

...