Node.js uses the V8 JavaScript engine and the libuv library. V8 compiles JavaScript to machine code for high performance, while libuv provides asynchronous I/O capabilities. Node.js initializes V8, wraps libuv, and provides a module system to load code, with modules defined as functions that export values. Native modules can extend Node.js using NAN or the newer N-API for direct access to V8 from C/C++ code.