运行V8 Javascript引擎独立

我想在V8上运行一个Javascript控制台。 我如何做到这一点?

V8很容易构build,而且不会从Mozilla独立的Javascript解释器中得到Java VM开销。 幸运的是,V8附带了构build控制台的代码。 这里是如何build立这个:

 $> 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版本2.0.2
 > var x = 10;
 > x
 10
 > function foo(x){return x * x;  }
 > foo
函数foo(x){return x * x;  }
 > quit()

从命令行执行Javascript:

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

帮助中logging了更多的function:

 $> ./v8-shell --help
用法:
 ...

要构build开发者控制台,而不是示例的“shell”玩具应用程序,请将以下命令复制粘贴到您的terminal。

 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的“通用”内核。 对于其他发行版,您将需要使用任何可用的软件包工具来replaceapt-get命令。 在64位系统上,您可能需要添加arch=x64console=readline选项启用readline系统,使其感觉更像一个标准的shell。

更完整的文档: http : //code.google.com/apis/v8/build.html


注意:

在这里输入图像描述

另请参阅: 使用GYP构buildv8

如何通过命令行使用node.js来运行V8 Javascript?

node.js使用v8作为引擎,并在其上添加了很多function。


例如,在Mac OSX上,如果您安装了Homebrew ,只需发出:

  $ brew install node $ node > 

在Mac OS X上,一定要安装brew 。 然后运行命令(sudo) brew install v8 ,这取决于你的机器,这可能需要一些时间。 要启动V8控制台,只需运行v8 – Voilà!

提示:要退出控制台,只需运行quit() ,不要忘记括号!

按照系统的构build说明( Google的V8 Build Docs )

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

我在.bash_profile中创build了一个别名,以方便调用shell。

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

在CLI上键入v8(在新的terminal或shell中 – 重新加载你的bashconfiguration文件)会产生v8 shell。 JavaScript的命令提示符! 🙂

我想这可能已经改变了。 我阅读手册,并build立这样的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 

(来自aditsu的 javascript和来自Google Code Jam的A-small-practice.in)

如果你使用ArchLinux,你可以使用pacman -S v8来安装它。 然后使用d8在你的shell中启动它。 好好享受。

如果你打算embeddedV8,那么一定要用“d8”来搭build它。

另一方面,如果您不打算扩展V8或将其视为可选,那么只需使用Node.JS。 不要打扰纯V8。

Node.js具有真正丰富的I / O,扩展,库(如Perl CPAN,Python鸡蛋,Ruby Gems)和社区。