node.js

Node.js簡介
nodejs並非一門新的語言,與Java,php開發語言的平臺也是不相同的,雖然他是JavaScript可是它並非JavaScript的框架。nodejs是讓JavaScript運行在服務器端的開發平臺。當一種事務在一個領域獨孤求敗的時候就會想着進入另一個領域,JavaScript已經在近幾年已經一統的前端的江湖,因此已經開始進入服務端的領域。Node.js是基於Chrome JavaScript運行時創建的一個平臺,使用C++編寫的,實際上它是對Google Chrome V8引擎進行了封裝,它主要用於建立快速的、可擴展的網絡應用。Node.js採用事件驅動和非阻塞I/O模型,使其變得輕微和高效,很是適合構建運行在分佈式設備的數據密集型實時應用。
\Node.js能作什麼
之前JavaScript並不涉及什麼邏輯代碼,可是node的出現使得JavaScript能作一些負責的邏輯代碼
JavaScript爲客戶端而生,node爲網絡而生
異步方式,適合併發大的應用
Node.js爲何會出現
之前是沒有人會想到用JavaScript做爲本身的web server 這是由於什麼呢?由於JavaScript是比較慢和亂php

  • V8引擎解決了JavaScript慢的問題
  • commonjs解決了亂的問題
  • Node的特性是事件驅動
  • 爲了彌補JavaScript在服務器端的空白
    在這裏插入圖片描述
    Node.js編程入門
    這個的前提是已經安裝了node環境以後的;

1.hello world
打一個一個文本編輯器,在其中輸入html

console.log('Hello World');

2.Node.js命令行工具前端

node  -v  版本
node -e      eval scipt    eval(「console.log('呵呵'));:node -e "console.log('hello world')";   直接執行        
node 直接進入編譯模式
    console.log("111")
    第一行是輸出、第二行是返回值

3.創建HTTP服務器node

var http = require('http');

http.createServer(function(request,reponse){
    //回送一個head頭部,返回值是200
    reponse.writeHead(200,{'Content-Type':'text/html'});
    //內容信息
    reponse.write("thisd i strue");
    //請求結束
    reponse.end();
}).listen(5353);//監聽的是5353端口
console.log("end");

頁面上的顯示圖以下python

4.對代碼的調試
對應於上面的建立的服務器,若是每一改動都要手動的運行一次這樣確定是會很麻煩的,咱們能夠安裝一個插件能夠不用每次都從新運行一次服務器
npm install -supervisor -g
要把這個插件安裝到全局
而後經過 supervisor XX.js能夠監聽變化git

Node的事件驅動
1.Node事件的工做原理
爲某個對象綁定事件(經過on這個方法綁定),也能夠理解爲爲某個對象添加一個或多個觀察者(經過callback設定事件,即回調方法),來觀察這個對象的動做
這個對象在某個狀態或操做下,觸發事件,或者說激活觀察者行爲(經過emit激活某類事件或觀察者)
被激活的事件執行相應的處理(執行callback方法)
2.EventEmitter對象
EventEmitter是Node.js中事件的核心對象,全部的事件基本都是經過這個對象完成構建的!github

var eventEmit  = require('events').EventEmitter;
var event      = new eventEmit();

//定義一個事件
event.on('newEvent',function () {
    console.log("this is zidingyi event");
});
//經過emit方法來觸發這個事件
event.emit("newEvent");
相關文章
相關標籤/搜索