nodejs的express框架

介紹:javascript

Express是由路由和中間件構成一個的nodejs的一種web應用框架;css

功能:html

  • 能夠設置中間件來響應 HTTP 請求。java

  • 定義了路由表用於執行不一樣的 HTTP 請求動做。node

  • 能夠經過向模板傳遞參數來動態渲染 HTML 頁面。

 

中間件的功能包括: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'); // 註冊模板引擎
相關文章
相關標籤/搜索