Skip to content

Latest commit

 

History

History
38 lines (20 loc) · 1.45 KB

node-core.md

File metadata and controls

38 lines (20 loc) · 1.45 KB

Node Core

cụ thể hơn

Core module

  • C++ core(native)
  • JS core

V8 Engine

V8 là một javascrpit engine dùng để biên dịch ra mã thực thi trên vi xử lý. Do được viết bằng C++ nên nó có thể được dùng độc lập hoặc được nhúng vào các chương trình viết bằng C++ khác.

Mã nguồn của V8 được dùng trong node có thể xem trong thư mục deps/v8

Có thể thử biên dịch một ví dụ về js shell

dùng lệnh shell --print_code để xem code được biên dịch ra mã thực thi

thử thêm một chức năng(lệnh) greeting vào shell

chú ý là dòng #include <include/v8.h>

Ở trên đã thấy cách dùng V8, thì việc thực thi code js giống như ta nhập vào shell, nó sẽ được biên dịch ra mã máy và chạy. Tuy nhiên không phải thư viện nào cũng cần binding JS với C++ mà chỉ thuần túy chứa các hàm.

chú ý dòng const binding = process.binding('');

libuv

2 thành phần quan trọng nhất

  • quản lý các kết nối IO bất đồng bộ
  • threadpool + event-loop