Express 是一個簡潔而靈活的 node.js Web應用框架, 提供了一系列強大特性幫助你創建各種 Web 應用,和豐富的 HTTP 工具。使用 Express 可以快速地搭建一個完整功能的網站。 Express 框架核心特性: 可以設置中間件來響應 HTTP 請求。 定義了路由表用於執行不同 ...
Express
是一個簡潔而靈活的 node.js Web應用框架, 提供了一系列強大特性幫助你創建各種 Web 應用,和豐富的 HTTP 工具。使用 Express 可以快速地搭建一個完整功能的網站。
Express 框架核心特性:
-
可以設置中間件來響應 HTTP 請求。
-
定義了路由表用於執行不同的 HTTP 請求動作。
-
可以通過向模板傳遞參數來動態渲染 HTML 頁面
安裝方式分為兩種:
1. npm install 在node.js平臺安裝 安裝後系統自動生成package.json文件
2. 直接寫package.json文件在進行npm install安裝
基本用法:
//開啟伺服器 var express = require('express'); //當且僅當請求為get 方法 且路徑符合時,才會觸發相應的路由--也就是觸髮指定路徑的指定方法 var express = require(); var app = express(); app.get('/',function(res,req){ res.send('Hello world!'); }); app.get('/customer',function(res,req){ res.send('customer pase'); }) app.get('/admin',function(){ res.send('admin page'); }); //監聽埠號3000 app.listen(3000);
中間件
(1)掛載中間件的函數:app.use
var http = require('http'); var express = require('express'); var app = express(); 使用自定義中間件 app.use('/',function(req , res , next){ console.log(‘這是自定義中間件’) next(); 調用next表示執行後續的中間件代碼 }); 使用static中間件載入靜態資源 app.use('/', express.static(__dirname + "/statics")); app.get('/index', function(req, res) { res.send("hello browser") res.end(); }) http.createServer(app).listen(3000,function(err) { if(err) throw err; console.log('伺服器連接成功'); })
(2) 基礎中間件介紹
(1)static靜態資源處理中間件
(2)logger獲取瀏覽器基本信息中間件
(3)bodyParser通過post方法提交的數據解析中間件
(4)query通過get方法提交的數據解析中間件
(5)cookieParser用戶狀態保存cookie解析中間件
(6)session啟用session管理用戶狀態中間件
(7)favicon網站圖標處理中間件
靜態文件
Express 提供了內置的中間件 express.static 來設置靜態文件如:圖片, CSS, JavaScript 等。
你可以使用 express.static 中間件來設置靜態文件路徑。例如,如果你將圖片, CSS, JavaScript 文件放在 public 目錄下,你可以這麼寫:
var express = require('express'); var app = express(); app.use(express.static('public')); app.get('/', function (req, res) { res.send('Hello World'); }) var server = app.listen(8081, function () { var host = server.address().address var port = server.address().port console.log("應用實例,訪問地址為 http://%s:%s", host, port) })
ejs模板引擎
簡單高效的模板語言,通過數據和模板,可以生成HTML標記文本
ejs特點:
(1)快速編譯和渲染
(2)簡單的模板標簽
(3)自定義標記分隔符
(4)文件的包含
(5)支持瀏覽器端和伺服器端
(6)模板靜態緩存
(7)支持express視圖系統
① ejs成員函數
(1)Render(str,data,[option]):直接渲染字元串生成HTML
str:需要解析的字元串模板
data:數據
[option]:配置選項
(2)Compile(str ,[option]):編譯字元串得到模板函數
str:需要解析的字元串模板
[option]:配置選項
[option]中的相關參數可以查閱文檔瞭解使用方法
② ejs常用標簽
(1)<% %>流程式控制制標簽(中間寫語句)
(2)<%= %>輸出標簽(原文輸出HTML標簽,中間寫變數)
(3)<%- %>輸出標簽(HTML會被瀏覽器解析)
(4)<%# %>註釋標簽
(5)%對標記轉義
(6)-%>去除沒有意義的空格