Вопрос

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

Это было полезно?

Решение

V8 прост в сборке и не требует накладных расходов виртуальной машины Java, присущих автономному интерпретатору 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:
...

Другие советы

Чтобы создать консоль разработчика, а не пример игрушечного приложения '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 с " generic " ядро. Для других дистрибутивов вам нужно будет заменить команду apt-get на любой доступный вам пакетный инструмент. В 64-битных системах вам может понадобиться добавить arch = x64 . Параметр console = readline позволяет readline сделать ее чувствовать себя больше как стандартная оболочка.

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

Примечание.

введите описание изображения здесь

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

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

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


Например, в Mac OSX, если у вас есть Домашнее пиво установлен, просто введите:

    $ brew install node
    $ node
    > 

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

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

Я думаю, что это могло измениться. Я прочитал руководство и собрал 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. из Google Code Jam)

После выполнения инструкций по сборке ( Документы по сборке 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 в командной строке! :)

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top