介紹:javascript
Express是由路由和中間件構成一個的nodejs的一種web應用框架;css
功能:html
能夠設置中間件來響應 HTTP 請求。java
定義了路由表用於執行不一樣的 HTTP 請求動做。node
中間件的功能包括:git
Express 應用可以使用以下幾種中間件:github
使用例子:web
一.如何設置中間件來響應http請求:express
1.建立一個 Express 應用。api
express()
是一個由 express 模塊導出的入口(top-level)函數。
var express = require('express'); var app = express();//其中app就是一個應用級中間件對象
// 路由和句柄函數(中間件系統),處理指向 /user/:id 的 GET 請求 app.get('/user/:id', function (req, res, next) { res.send('USER');//傳送HTTP響應
/*第一個參數:表示模板的文件,相對於views目錄 view/index.html
第二個參數:傳遞給模板使用的數據
*/
res.render('','');//響應頁面
app.use('/public',express.static(__dirname+'/public'));
三.定義路由表執行不一樣的http請求});
二.應用靜態文件(js/css文件)express.static
是 Express 內置的惟一一箇中間件。是基於 serve-static 開發的,負責託管 Express 應用內的靜態資源。
eg:express.static
app.use('/api',require('./routers/api'));
eg:api.js文件
var express=require('express');
var router =express.Router();
router.get('/user',function (req,res,next) {
res.send('api');
});
/**
用戶註冊
*/
router.post('/user/register',function (req,res,next) {
//處理不一樣業務邏輯
});
module.exports=router;
四.使用模板引擎;
eg:
/配置應用模板
//1.定義模板引擎,使用swig.renderFile方法解析後綴名爲html文件 ;engine引擎
app.engine('html',swig.renderFile);
//engine('模板引擎名稱,同時也是模板文件後綴名',解析處理模板內容的方法);
//2.html文件 設置模板文件存放的目錄
app.set('views','./views');
//app.set('views','目錄')
//註冊模板引擎
app.set('view engine','html');
//app.set('view engine','必須和app.engine方法的第一個參數一致');
swig.setDefaults({cache:false});
eg:這種方法沒用過
var fs = require('fs'); // 此模板引擎依賴 fs 模塊 app.engine('ntl', function (filePath, options, callback) { // 定義模板引擎 fs.readFile(filePath, function (err, content) { if (err) return callback(new Error(err)); // 這是一個功能極其簡單的模板引擎 var rendered = content.toString().replace('#title#', '<title>'+ options.title +'</title>') .replace('#message#', '<h1>'+ options.message +'</h1>'); return callback(null, rendered); }) }); app.set('views', './views'); // 指定視圖所在的位置 app.set('view engine', 'ntl'); // 註冊模板引擎