Запуск V8 Javascript Engine Автономный
Я хочу запустить консоль Javascript поверх V8. Как мне это сделать?
10 ответов
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 -Я включаю libv8.a
Теперь у нас есть автономный двоичный файл под названием v8-shell
,
Запуск консоли:
$>./v8-shell V8 версия 2.0.2 > var x = 10; > х 10 > функция foo(x) { return x * x; } > фу function foo(x) { return x * x; } > выйти ()
Выполнение Javascript из командной строки:
$>./v8-shell -e 'print ("10 * 10 =" + 10 * 10)' 10 * 10 = 100
Многие другие функции описаны в справке:
$>./v8-shell --help Использование: ...
Чтобы создать консоль разработчика, а не пример игрушечного приложения '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
Замечания:
Смотрите также: Сборка v8 с GYP
На Mac OS X обязательно есть brew
установлены. Тогда просто запустите команду (sudo) brew install v8
В зависимости от вашей машины это может занять некоторое время. Чтобы запустить консоль V8, просто запустите v8
- Вуаля!
Совет: чтобы выйти из консоли, просто запустите 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.in от Google Code Jam)
После выполнения инструкций по сборке ( Google V8 Build Docs) для вашей системы;
[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 в командной строке!:)
Если вы хотите запустить исходный код javascript с использованием механизма v8 или любой его версии, вы можете использовать инструмент командной строки jsvu. Он разработан и поддерживается инженерами Google и, кроме того, предлагает функцию установки других движков javascript, кроме v8, таких как spidermonkey, chakracore, javascriptcore и xs.
Если вы используете ArchLinux, вы можете использовать pacman -S v8
установить его. Тогда используйте d8
чтобы начать это в вашей оболочке. Наслаждайся этим.
Если вы планируете встроить V8, то обязательно соберите его и поиграйте с "d8".
Если, с другой стороны, вы не планируете расширять V8 или рассматривать его как необязательный, просто используйте Node.JS. Не беспокойтесь о чистом V8.
Node.js имеет по-настоящему богатый ввод-вывод, расширения, библиотеки (такие как Perl CPAN, Python Eggs, Ruby Gems) и сообщество.
Если вы используете Windows:
- Установите MSYS2
- Откройте терминал MSYS2 из меню «Пуск».
- Установите свой компилятор:
pacman -Syu mingw-w64-i686-toolchain
- Установите v8:
mingw-w64-i686-v8
- Убедитесь, что у вас есть
d8
как новый переводчик на вашем пути. - Если вы хотите запустить d8 вне MSYS2, вам нужно добавить msys2/mingw/bin в путь Windows
Попробуй это
- Перейдите к
c:\msys2\home\user\
- Создайте файл test.js
console.log('Hello You!');
console.log('Would you tell me your name?');
const name = readline();
console.log('Hello '+name+' !!');
- Бегать:
d8 test.js
Вы также можете скачать бинарники отсюда и разархивировать с помощью peazip.
Удачи !!