ฉันต้องการเรียกใช้คอนโซล Javascript ที่ด้านบนของ V8 ฉันต้องทำอย่างไร
ฉันต้องการเรียกใช้คอนโซล Javascript ที่ด้านบนของ V8 ฉันต้องทำอย่างไร
คำตอบ:
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 -I รวม libv8.a
v8-shell
ขณะนี้เรามีไบนารีแบบสแตนด์อโลนที่เรียกว่า
การเรียกใช้คอนโซล:
$> ./v8-shell V8 เวอร์ชัน 2.0.2 > var x = 10; > x 10 > ฟังก์ชัน foo (x) {return x * x; } > ฟู ฟังก์ชัน foo (x) {return x * x; } > เลิก ()
การเรียกใช้ Javascript จากบรรทัดคำสั่ง:
$> ./v8-shell -e 'พิมพ์ ("10 * 10 =" + 10 * 10)' 10 * 10 = 100
คุณสมบัติอื่น ๆ อีกมากมายได้รับการบันทึกไว้ในวิธีใช้:
$> ./v8-shell - help การใช้งาน: ...
d8
เรียกว่า ดูคำตอบของฉันสำหรับข้อมูลเพิ่มเติม
ในการสร้างคอนโซลนักพัฒนาแทนที่จะเป็นแอปพลิเคชันของเล่น 'เชลล์' ตัวอย่างให้คัดลอกและวางคำสั่งด้านล่างลงในเทอร์มินัล
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
arch=x64
เพื่อสร้างบน ubuntu 64 บิต
./d8
เมื่ออาคารเสร็จเรียบร้อยแล้วใช้เปลือกโดยการป้อน
วิธีการเกี่ยวกับการทำงาน V8 จาวาสคริปต์ผ่านบรรทัดคำสั่งโดยใช้Node.js ?
node.js ใช้ v8 เป็นเอนจิ้นและเพิ่มฟังก์ชันมากมายที่ด้านบน
ตัวอย่างเช่นบน Mac OSX หากคุณติดตั้งHomebrewเพียงแค่ออก:
$ brew install node
$ node
>
บน Mac OS X อย่าลืมbrew
ติดตั้ง จากนั้นเรียกใช้คำสั่ง(sudo) brew install v8
ขึ้นอยู่กับเครื่องของคุณซึ่งอาจใช้เวลาสักครู่ ในการเริ่มคอนโซล V8 เพียงแค่เรียกใช้v8
- Voilà!
เคล็ดลับ:ในการออกจากคอนโซลเพียงแค่เรียกใช้quit()
และอย่าลืมวงเล็บ!
Ctrl-D
เพื่อออก :)
Ctrl-C
จะฆ่ามัน
ฉันคิดว่าสิ่งนี้อาจมีการเปลี่ยนแปลง ฉันอ่านคู่มือและสร้าง 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)
หลังจากทำตามคำแนะนำการสร้าง ( V8 Build Docs ของ Google ) สำหรับระบบของคุณ
[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 (ใน Terminal หรือ shell ใหม่ - เพื่อโหลดโปรไฟล์ bash ของคุณใหม่) จะให้ v8 shell JavaScript ที่พรอมต์คำสั่ง! :)
หากคุณใช้ ArchLinux คุณสามารถใช้pacman -S v8
เพื่อติดตั้งได้ จากนั้นใช้d8
เพื่อเริ่มต้นในเปลือกของคุณ สนุกกับมัน.
หากคุณวางแผนที่จะฝัง V8 ให้สร้างและเล่นด้วย "d8"
หากในทางกลับกันคุณไม่ได้วางแผนที่จะขยาย V8 หรือถือว่าเป็นทางเลือกจากนั้นใช้ Node.JS. ไม่ต้องกังวลกับ V8 บริสุทธิ์
Node.js มี I / O ที่สมบูรณ์ส่วนขยายไลบรารี (เช่น Perl CPAN, Python Eggs, Ruby Gems) และชุมชน
-lpthread
ให้กับg++
คำสั่งภายใต้ ubuntu 10.04