我想在V8上运行一个JavaScript控制台。我该怎么做?
V8易于构建,不会带有Mozilla独立Javascript解释器中的Java VM开销。幸运的是,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版本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。对于其他发行版,您需要用可用的软件包工具替换apt-get命令。在64位系统上,您可能需要添加arch=x64
。 console=readline
选项启用readline系统,使其感觉更像标准shell。
更完整的文档请点击这里:http://code.google.com/apis/v8/build.html
注意:
另请参见:使用GYP构建v8
arch=x64
。 - projectshave在 Mac OS X 上,请确保已经安装了brew
。然后只需运行命令(sudo) brew install v8
,根据您的机器配置不同,这可能需要一些时间。要启动 V8 控制台,只需运行v8
- 就这么简单!
提示:要退出控制台,只需运行quit()
,别忘了括号!
Ctrl-D
退出 :) - DogbertCtrl-C
来终止它。 - Braden Best阅读手册并进行构建。
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
我在我的 .bashrc 文件中添加了 export PATH=${PATH}:/home/moose/Downloads/v8-trunk/out/ia32.release
来增加路径。
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)
按照您系统的构建说明(Google 的 V8 构建文档)进行操作后;
[v8 directory]$ cd out/native
[v8 directory]$ ./shell (sample shell)
[v8 directory]$ ./d8 (console: dumb)
alias v8='/Volumes/Dev/GitHub/v8/out/native/shell'
如果您想使用v8引擎或其任何版本运行JavaScript源代码,可以使用jsvu命令行工具。它由Google工程师开发和维护,并且提供了安装其他JavaScript引擎的功能,例如spidermonkey、chakracore、javascriptcore和xs。
pacman -S v8
来安装它。
然后在Shell中使用d8
启动它。
享受它吧。pacman -Syu mingw-w64-i686-toolchain
mingw-w64-i686-v8
d8
作为新的解释器。c:\msys2\home\user\
console.log('Hello You!');
console.log('Would you tell me your name?');
const name = readline();
console.log('Hello '+name+' !!');
d8 test.js
您也可以从这里下载二进制文件,并使用PeaZip解压缩。
祝您好运!
g++
命令中添加选项-lpthread
。 - intuitedd8
。有关详细信息,请参见我的答案。 - bukzor