Автономный запуск Javascript Engine V8
-
05-07-2019 - |
Вопрос
Я хочу запустить консоль 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 .