node.js學習日記(1)

Node.js就是運行在服務端的 JavaScript。
Node.js是一個基於Chrome JavaScript 運行時建立的一個平臺。
Node.js是一個事件驅動I/O服務端JavaScript環境,基於Google的V8引擎,V8引擎執行Javascript的速度非常快,性能非常好。
使用Node.js時,不僅僅實現了一個應用,同時還實現了整個HTTP服務器。


下載與安裝

官網:https://nodejs.org/en/
下載後按步驟安裝即可。安裝後可在運行輸入cmd,node -v查看版本信息,驗證是否安裝成功。

Node.js的組成

  • 引入模塊:使用 require 指令來載入 Node.js 的模塊。
  • 創建服務器:服務器可以監聽客戶端的請求。
    • 使用 createServer() 方法創建服務器,會返回 一個對象,這個對象有一個叫做 listen 的方法,這個方法有一個數值參數, 指定這個 HTTP 服務器監聽的端口號。
  • 接收請求與響應請求:客戶端可以使用瀏覽器或終端發送 HTTP 請求,服務器接收請求後返回響應數據。
var http = require('http');

http.createServer(function (request, response) {

    // 發送 HTTP 頭部 
    // HTTP 狀態值: 200 : OK
    // 內容類型: text/plain
    response.writeHead(200, {'Content-Type': 'text/plain'});

    // 發送響應數據 "Hello World"
    response.end('Hello World\n');
}).listen(8888);

// 終端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');

使用 node 命令執行以上的代碼:
這裏寫圖片描述
這裏寫圖片描述

模塊化

Node應用由模塊組成,採用CommonJS模塊規範。

  • 引用模塊 require
    • 引用安裝到node環境中的模塊
      • 例如上一部分中引入’http’
    • 引用自己編寫的模塊
      • 例如自己寫了一個模塊
      • module_a.js => console.log(‘module a’)
      • 注意:再新建一個文件直接require(‘module_a.js’)會報錯。Error: Cannot find module ‘module_a’,因爲在Node裏直接用require,存在尋找路徑的問題,有默認的尋找目錄,如果都沒有,就會報錯。
      • 把路徑標示出即可。require(‘./module_a.js’)
  • 輸出接口 exports
function add(a,b){
    return a+b;
}
exports.add = add

exports後面的add是對外看到的方法名,等號後面的add是指定了內部的具體方法。

NPM

NPM是Node的包管理工具(Package Manager)。通過它,可以下載使用別人編寫的包,也可以上傳分享自己的程序。新版的NodeJS已經集成了NPM,所以NPM會一併安裝好。可以使用npm -v在命令行中查看版本,驗證是否安裝(npm爲全局命令,任何位置都可使用)

  • 安裝
    • npm install module_name 本地安裝
    • npm install module_name -g 全局安裝
    • 本地安裝將安裝包放在 ./node_modules 下(運行 npm 命令時所在的目錄),如果沒有 node_modules 目錄,會在當前執行 npm 命令的目錄下生成 node_modules 目錄。通過 require() 來引入本地安裝的包。
    • 全局安裝將安裝包放在 /usr/local 下或者你 node 的安裝目錄,可以直接在命令行裏使用。
  • 卸載
    • npm uninstall module_name
  • 更新
    • npm update module_name
  • 搜索
    • npm search module_name

package.json 位於模塊的目錄下,用於定義包的屬性。
創建自己的模塊時,package.json 文件是必不可少的。可以使用 NPM 生成 package.json 文件。
這裏寫圖片描述

  • 發佈模塊
    • npm adduser 第一次使用需要在npm資源庫中註冊用戶
    • npm publish 名稱不允許重複

NPM還有其他命令,可以通過npm help查看。

Web開發

Node可用於創建動態網站,作爲服務端環境,Node自身攜帶HTTP服務器。但是原始封裝程度較低,開發成本高,通常藉助庫來完成。

如何使用Node編寫一個簡單的靜態頁面

  • 創建一個server
  • 處理請求
  • 根據請求讀取對應文件
  • 將文件內容輸出返回
  • 處理錯誤

步驟比較繁瑣。

Node庫

  • connect.js
    • 提供接口, 簡化開發
  • express.js
    • Web開發框架

自己加油加油 笨鳥後飛也要飛呀飛

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章