Node介紹——什麼是Node?

簡單的說 Node.js 就是運行在服務端的 JavaScript。javascript

Node.js 是一個基於Chrome JavaScript 運行時創建的一個平臺。php

Node.js是一個事件驅動I/O服務端JavaScript環境,基於Google的V8引擎,V8引擎執行Javascript的速度很是快,性能很是好。html

1.編寫高性能網絡服務器的javascript工具包(用js開發服務端程序)java

2.單線程、異步、事件驅動node

單線程:01.php不支持多線程,可是php的服務apache支持多線程,啓動時會初始化150個線程供php使用。在線程池中,線程工做將內容提供到客戶端以後繼續回到線程池中等待被調用;02.node.js單線程,多個線程對庫操做,每一個線程對應一個塊內存;03.PHP高併發、大數據量如何處理?讓線程快速結束(線程優化、主鍵)數據庫

異步和事件驅動:異步訪問完數據庫以後就去進行其餘操做,訪問過程速度特別快,當下一步須要數據時會報錯,因此須要將下一步操做放到上面的函數中,做爲回調函數使用。node.js中有asyac方法讓程序順序執行apache

3.特色:快、耗內存多
    服務器

4.node.js vs php 
優勢:
01.性能高
02.開發效率高(優化的量少)
03.應用範圍廣(能夠開發桌面系統:electorn框架)網絡

缺點:
01.新、人少
02.中間件少
03.IDE不完善多線程

5.node請求靜態服務器

var http=require("http");//http是node中自帶的對象,利用require導入
	http.createServer(function(request,response){
		response.writeHead(200,{"Content-Type":"text/html;charset=utf-8"});
		console.log("訪問");
		response.write("hello world");
		response.end("你好,世界!");
	}).listen(8000);
	console.log("Server running at http://127.0.0.1:8000/");

6.node模塊化開發和commonJS規範
01模塊引用
    exports.add=function (num1,num2){
        alert(num1+num2);
    }//模塊對外提供的接口,假設存放在add.js中

    var obj=require("./add.js");//模塊引用
    // 賦值的意義在於,js中將僅能識別obj,由於這是已經定義的變量,並不能識別./add.js

    obj.add(3,5);//正確的調用方法

02模塊定義
module對象:在每個模塊中,module對象表明該模塊自身。
export屬性:module對象的一個屬性,它向外提供接口。

03模塊標識 模塊標識指的是傳遞給require方法的參數,必須是符合小駝峯命名的字符串,或者以  . 或 .. 開頭的相對路徑,或者絕對路徑。