ode.js is a JavaScript runtime built on Chrome’s V8 JavaScript engine.
Node.js是基於Chrome的V8 JavaScript引擎構建的JavaScript運行時。node
簡單的說 Node.js 就是運行在服務端的 JavaScript。
Node.js只能運行ECMAScript。
Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效。python
做爲異步事件驅動的JavaScript運行時,Node旨在構建可伸縮的網絡應用程序。在下面的「hello world」示例中,能夠同時處理許多鏈接。在每次鏈接時都會觸發回調,可是若是沒有工做要作,Node將會休眠。git
安裝Node以後,讓咱們嘗試構建咱們的第一個Web服務器。建立名爲「app.js」的文件,並粘貼如下代碼:github
const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World\n'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });
以後,運行您的Web服務器服務器
node app.js
訪問http://127.0.0.1:3000/,您將看到一條消息「Hello World」markdown
這與當今使用OS線程的更常見的併發模型造成對比。基於線程的網絡效率相對較低且很是難以使用。此外,Node的用戶沒必要擔憂死鎖,由於沒有鎖。Node中幾乎沒有任何函數直接執行I / O,所以進程永遠不會阻塞。因爲沒有任何阻塞,可擴展系統在Node中開發很是合理。網絡