Tôi muốn chạy bảng điều khiển Javascript ở phía trên V8. Làm thế nào để tôi làm điều này?Chạy Động cơ Javascript V8 Standalone
Trả lời
V8 dễ xây dựng và không đi kèm với chi phí máy ảo Java từ trình thông dịch Javascript độc lập của Mozilla. May mắn thay, V8 có mã để xây dựng một giao diện điều khiển. Đây là cách để tạo điều này:
$> 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
Bây giờ, chúng tôi có một nhị phân độc lập được gọi là v8-shell
.
Chạy giao diện điều khiển:
$> ./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()
Thi Javascript từ dòng lệnh:
$> ./v8-shell -e 'print("10*10 = " + 10*10)' 10*10 = 100
Nhiều tính năng hơn được diễn tả trong sự giúp đỡ:
$> ./v8-shell --help Usage: ...
Để xây dựng các nhà phát triển giao diện điều khiển , chứ không phải ứng dụng đồ chơi 'vỏ' ví dụ, sao chép-dán các lệnh dưới đây vào thiết bị đầu cuối của bạn.
sudo apt-get install subversion scons libreadline-dev
svn co http://v8.googlecode.com/svn/trunk v8
cd v8/
scons console=readline d8
Hướng dẫn này sẽ hoạt động đối với Ubuntu/Debian có hạt nhân "chung". Đối với các bản phân phối khác, bạn sẽ cần phải thay thế lệnh apt-get bằng bất kỳ công cụ gói nào bạn có sẵn. Trên các hệ thống 64 bit, bạn có thể cần phải thêm arch=x64
. Các tùy chọn console=readline
cho phép hệ thống readline, để làm cho nó cảm thấy một chút giống như một vỏ tiêu chuẩn.
hoàn Nhiều tài liệu ở đây: http://code.google.com/apis/v8/build.html
Lưu ý:
Xem thêm: Building v8 with GYP
Tôi đã thêm 'arch = x64' để xây dựng trên 64bit ubuntu. – projectshave
Tùy chọn giao diện điều khiển = readline làm gì? – Hugh
@Hugh: Nó cho phép hệ thống readline; đây là những gì cho phép bạn sử dụng mũi tên lên để có được lệnh trước đó, trong số các niceties khác. – bukzor
Trên Mac OS X chắc chắn có brew
cài đặt. Sau đó, chỉ cần chạy lệnh (sudo) brew install v8
, tùy thuộc vào máy của bạn, quá trình này có thể mất chút thời gian. Để bắt đầu bảng điều khiển V8, chỉ cần chạy v8
- Voilà!
Mẹo: Để thoát khỏi bảng điều khiển, chỉ cần chạy quit()
và không quên dấu ngoặc đơn!
Nếu bạn sử dụng ArchLinux, bạn có thể sử dụng pacman -S v8
để cài đặt. Sau đó sử dụng d8
để bắt đầu nó trong trình bao của bạn. Hãy tận hưởng nó.
Có vẻ như trên AUR nên không thể cài đặt với pacman. – Colliot
Làm thế nào để chạy V8 Javascript qua dòng lệnh bằng cách sử dụng node.js?
node.js sử dụng v8 làm công cụ của nó và thêm nhiều chức năng lên trên nó.
Ví dụ trên Mac OSX nếu bạn có Homebrew cài đặt, chỉ cần phát hành:
$ brew install node
$ node
>
IMHO node.js là tiêu chuẩn defacto mới khi nói đến bảng điều khiển JavaScript. Nó sử dụng v8, và có lẽ là lựa chọn tốt nhất để sử dụng cho việc này. – Tracker1
Nếu bạn đang lập kế hoạch để nhúng V8, sau đó bằng mọi cách xây dựng nó và chơi với "d8".
Nếu mặt khác, bạn không có ý định mở rộng V8 hoặc coi nó là tùy chọn, sau đó chỉ cần sử dụng Node.JS. Đừng bận tâm với V8 thuần túy.
Node.js có các I/O, thư viện mở rộng, thư viện thực sự phong phú (như Perl CPAN, Python Egg, Ruby Gems) và cộng đồng.
Bạn không cần phải sử dụng node.js, nó chỉ là một wrapper và phụ thuộc thêm. – b01
Sau khi làm theo hướng dẫn tạo (Google's V8 Build Docs) cho hệ thống của bạn;
[v8 directory]$ cd out/native
[v8 directory]$ ./shell (sample shell)
[v8 directory]$ ./d8 (console: dumb)
Tôi đã tạo bí danh trong .bash_profile để tạo điều kiện gọi trình bao.
alias v8='/Volumes/Dev/GitHub/v8/out/native/shell'
Nhập v8 tại CLI (trong một Thiết bị đầu cuối mới hoặc vỏ - để tải lại hồ sơ bash) sẽ sinh ra vỏ v8. JavaScript tại dấu nhắc lệnh! :)
Tôi nghĩ điều này có thể đã thay đổi. Tôi read the manual và xây dựng v8 như thế này:
[email protected]$ svn co http://v8.googlecode.com/svn/trunk v8-trunk
[email protected]$ cd v8-trunk
[email protected]$ make dependencies
[email protected]$ make ia32.release
thêm export PATH=${PATH}:/home/moose/Downloads/v8-trunk/out/ia32.release
để .bashrc của tôi
[email protected] ~ $ source ~/.bashrc
[email protected] ~ $ d8 A_tic_tac_toe_Tomek.js < A-small-practice.in
(Với javascript từ aditsu và A-small-practice.in từ Google Code Jam)
Một trang đầy đủ các câu trả lời và của bạn, ít được coi nhất, chứa lời khuyên cuối cùng tôi cần. –
- 1. Thao tác động cơ V8
- 2. Lỗi trong động cơ V8 V8 của JavaScript khi khớp với dòng đầu tiên?
- 3. Python có thể được biên dịch để chạy trên động cơ V8 không?
- 4. Google Javascript v8 - đa luồng
- 5. Truy cập cây cú pháp trừu tượng của động cơ V8
- 6. ngăn xếp và đống trong V8 (JavaScript)
- 7. Gọi hàm v8 javascript từ C++ với đối số
- 8. Ném ngoại lệ JavaScript từ mã C++ bằng Google V8
- 9. Unicorn vs Passenger Standalone đằng sau nginx
- 10. XML Declaration standalone = "yes" lxml
- 11. setTimeout và V8
- 12. Gọi hàm Javascript từ cuộc gọi lại C++ trong V8
- 13. Truy cập số dòng trong V8 JavaScript (Chrome & Node.js)
- 14. Động cơ vật lý Javascript đơn giản
- 15. Chrome: Tự động chạy cho mã Javascript?
- 16. Chạy một hoạt động dài trong javascript?
- 17. Làm thế nào để xử lý vụ tai nạn cơ V8 khi quá trình chạy ra khỏi bộ nhớ
- 18. Động cơ V8 của Google có thực sự giới hạn ở 1 VM cho mỗi quá trình không?
- 19. Động cơ templating trong JavaScript hoạt động như thế nào?
- 20. Standalone Jython: Lỗi nhập (Apache-POI)
- 21. Nhúng V8 trong ứng dụng OpenCL?
- 22. "Hello World" + JS V8 + VS2010
- 23. Làm cách nào để cài đặt công cụ độc lập v8 javascript của Google để gỡ lỗi từ xa?
- 24. Node.js/v8: Cách tạo ảnh chụp nhanh của riêng tôi để tăng tốc khởi động
- 25. Xây dựng v8 không có JIT
- 26. Stack trace từ javascript lỗi từ therubyracer/v8 trong đường ray 3
- 27. Tự động chạy tập lệnh PDF trên php hoặc javascript
- 28. Chạy javascript sau khi di động 'quay lại' báo chí
- 29. Sử dụng stringify từ vỏ v8
- 30. Chạy .exe từ Javascript
Cảm ơn cho mẹo và hướng dẫn rõ ràng. Tôi đã phải thêm tùy chọn '-lpthread' vào lệnh' g ++' trong ubuntu 10.04. – intuited
scons không thành công cho tôi trên Ubuntu, nhưng chạy sudo apt-get install libc6-dev-i386 giải quyết điều đó. –
và nếu bạn trên x86_64 thực hiện: 'scons arch = x64' cho đến khi nó được cố định trong thân cây http://code.google.com/p/v8/issues/detail?id=429#c1 – EdH